X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=parser.c;h=e3b4d9abd12ba36b418a786d16089f9d477885ad;hp=d65eafe714eb6c8a78a752e896642cb95eb7b2cb;hb=35f9aef7295ed20c58aa812e106be921fa7e8acd;hpb=46fa12cb265706673927319d07651096e10c5b80 diff --git a/parser.c b/parser.c index d65eafe..e3b4d9a 100644 --- a/parser.c +++ b/parser.c @@ -5221,6 +5221,7 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield retval = false; goto cleanup; } + /* doing this here as the above is just for a single scope */ old = parser_find_local(parser, var->name, 0, &isparam); if (old && isparam) { if (parsewarning(parser, WARN_LOCAL_SHADOWS, @@ -5234,7 +5235,7 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield if (OPTS_OPTION_U32(OPTION_STANDARD) != COMPILER_GMQCC) { ast_delete(var); if (ast_istype(old, ast_value)) - var = (ast_value*)old; + var = proto = (ast_value*)old; else { var = NULL; goto skipvar;