aboutsummaryrefslogtreecommitdiff
path: root/lparser.c
diff options
context:
space:
mode:
Diffstat (limited to 'lparser.c')
-rw-r--r--lparser.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lparser.c b/lparser.c
index 74dd8dc1..deae943f 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 1.101 2000/06/28 20:20:36 roberto Exp roberto $ 2** $Id: lparser.c,v 1.102 2000/06/30 14:35:17 roberto Exp roberto $
3** LL(1) Parser and code generator for Lua 3** LL(1) Parser and code generator for Lua
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -327,6 +327,8 @@ static void open_func (LexState *ls, FuncState *fs) {
327 f->source = ls->source; 327 f->source = ls->source;
328 fs->pc = 0; 328 fs->pc = 0;
329 fs->lasttarget = 0; 329 fs->lasttarget = 0;
330 fs->nlineinfo = 0;
331 fs->lastline = 0;
330 fs->jlt = NO_JUMP; 332 fs->jlt = NO_JUMP;
331 f->code = NULL; 333 f->code = NULL;
332 f->maxstacksize = 0; 334 f->maxstacksize = 0;
@@ -348,6 +350,10 @@ static void close_func (LexState *ls) {
348 luaM_reallocvector(L, f->kproto, f->nkproto, Proto *); 350 luaM_reallocvector(L, f->kproto, f->nkproto, Proto *);
349 luaI_registerlocalvar(ls, NULL, -1); /* flag end of vector */ 351 luaI_registerlocalvar(ls, NULL, -1); /* flag end of vector */
350 luaM_reallocvector(L, f->locvars, fs->nvars, LocVar); 352 luaM_reallocvector(L, f->locvars, fs->nvars, LocVar);
353 if (fs->debug) {
354 luaM_reallocvector(L, f->lineinfo, fs->nlineinfo+1, int);
355 f->lineinfo[fs->nlineinfo] = MAX_INT; /* end flag */
356 }
351 ls->fs = fs->prev; 357 ls->fs = fs->prev;
352 LUA_ASSERT(fs->bl == NULL, "wrong list end"); 358 LUA_ASSERT(fs->bl == NULL, "wrong list end");
353} 359}