summaryrefslogtreecommitdiffstats
path: root/src/glsl/pp/sl_pp_if.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glsl/pp/sl_pp_if.c')
-rw-r--r--src/glsl/pp/sl_pp_if.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/glsl/pp/sl_pp_if.c b/src/glsl/pp/sl_pp_if.c
index 44bbefa3577..cf1c746d5f6 100644
--- a/src/glsl/pp/sl_pp_if.c
+++ b/src/glsl/pp/sl_pp_if.c
@@ -136,20 +136,16 @@ _parse_if(struct sl_pp_context *context,
break;
case SL_PP_IDENTIFIER:
- {
- const char *id = sl_pp_context_cstr(context, input[i].data.identifier);
-
- if (!strcmp(id, "defined")) {
- i++;
- if (_parse_defined(context, input, &i, &state)) {
- free(state.out);
- return -1;
- }
- } else {
- if (sl_pp_macro_expand(context, input, &i, NULL, &state, 0)) {
- free(state.out);
- return -1;
- }
+ if (input[i].data.identifier == context->dict.defined) {
+ i++;
+ if (_parse_defined(context, input, &i, &state)) {
+ free(state.out);
+ return -1;
+ }
+ } else {
+ if (sl_pp_macro_expand(context, input, &i, NULL, &state, 0)) {
+ free(state.out);
+ return -1;
}
}
break;