diff options
Diffstat (limited to 'src/bin/edje')
-rw-r--r-- | src/bin/edje/edje_cc_parse.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c index 4e2884318f..b87afb08ac 100644 --- a/src/bin/edje/edje_cc_parse.c +++ b/src/bin/edje/edje_cc_parse.c | |||
@@ -387,10 +387,18 @@ next_token(char *p, char *end, char **new_p, int *delim) | |||
387 | else if (is_escaped) | 387 | else if (is_escaped) |
388 | is_escaped = 0; | 388 | is_escaped = 0; |
389 | } | 389 | } |
390 | else if (in_parens) | 390 | else if (in_parens != 0 && (!is_escaped)) |
391 | { | 391 | { |
392 | if (((*p) == ')') && (!is_escaped)) | 392 | if (*p == '(') |
393 | in_parens++; | ||
394 | else if (*p == ')') | ||
393 | in_parens--; | 395 | in_parens--; |
396 | else if (isdelim(*p)) | ||
397 | { | ||
398 | ERR("check pair of parens %s:%i.", file_in, line - 1); | ||
399 | err_show(); | ||
400 | exit(-1); | ||
401 | } | ||
394 | } | 402 | } |
395 | else | 403 | else |
396 | { | 404 | { |
@@ -401,6 +409,8 @@ next_token(char *p, char *end, char **new_p, int *delim) | |||
401 | } | 409 | } |
402 | else if (*p == '(') | 410 | else if (*p == '(') |
403 | in_parens++; | 411 | in_parens++; |
412 | else if (*p == ')') | ||
413 | in_parens--; | ||
404 | 414 | ||
405 | /* check for end-of-token */ | 415 | /* check for end-of-token */ |
406 | if ( | 416 | if ( |