Skip to content

Commit

Permalink
pop dvars
Browse files Browse the repository at this point in the history
  • Loading branch information
Watson1978 committed Jan 19, 2012
1 parent d230d93 commit 50ed954
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions parse.y
Expand Up @@ -9040,15 +9040,11 @@ dyna_push_gen(struct parser_params *parser)
}

static void
dyna_pop_gen(struct parser_params *parser, const struct vtable *lvargs)
dyna_pop_1(struct parser_params *parser)
{
struct vtable *tmp;
struct vtable *prev_vars = NULL, *prev_args = NULL;

while (lvtbl->args != lvargs) {
local_pop();
}

prev_vars = lvtbl->vars->prev;
prev_args = lvtbl->args->prev;

Expand Down Expand Up @@ -9085,6 +9081,20 @@ dyna_pop_gen(struct parser_params *parser, const struct vtable *lvargs)
vtable_free(tmp);
}

static void
dyna_pop_gen(struct parser_params *parser, const struct vtable *lvargs)
{
while (lvtbl->args != lvargs) {
dyna_pop_1(parser);
if (!lvtbl->args) {
struct local_vars *local = lvtbl->prev;
xfree(lvtbl);
lvtbl = local;
}
}
dyna_pop_1(parser);
}

static int
dyna_in_block_gen(struct parser_params *parser)
{
Expand Down

0 comments on commit 50ed954

Please sign in to comment.