From: Wolfgang Bumiller Date: Thu, 10 Jan 2013 17:52:43 +0000 (+0100) Subject: parse_expression_leave: also end at a closing } - enum: check for } and , after an... X-Git-Tag: before-library~320 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=aa8b9eb1ad2a54f233c26a57d80b457b646c00dc parse_expression_leave: also end at a closing } - enum: check for } and , after an expression again --- diff --git a/parser.c b/parser.c index 8090be4..f99fd79 100644 --- a/parser.c +++ b/parser.c @@ -1957,7 +1957,7 @@ static ast_expression* parse_expression_leave(parser_t *parser, bool stopatcomma goto onerr; } if (parser->tok == ';' || - (!parens && (parser->tok == ']' || parser->tok == ')'))) + (!parens && (parser->tok == ']' || parser->tok == ')' || parser->tok == '}'))) { break; } @@ -3508,6 +3508,13 @@ static bool parse_enum(parser_t *parser) goto onerror; } num = (var->constval.vfloat = asvalue->constval.vfloat) + 1; + + if (parser->tok == '}') + break; + if (parser->tok != ',') { + parseerror(parser, "expected `}` or comma after expression"); + goto onerror; + } } if (parser->tok != '}') {