diff options
Diffstat (limited to 'lparser.c')
-rw-r--r-- | lparser.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lparser.c,v 1.211 2003/05/14 21:02:39 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 1.212 2003/07/09 15:36:38 roberto Exp roberto $ |
3 | ** Lua Parser | 3 | ** Lua Parser |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -139,7 +139,7 @@ static int luaI_registerlocalvar (LexState *ls, TString *varname) { | |||
139 | FuncState *fs = ls->fs; | 139 | FuncState *fs = ls->fs; |
140 | Proto *f = fs->f; | 140 | Proto *f = fs->f; |
141 | luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, | 141 | luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, |
142 | LocVar, MAX_INT, ""); | 142 | LocVar, USHRT_MAX, "too many local variables"); |
143 | f->locvars[fs->nlocvars].varname = varname; | 143 | f->locvars[fs->nlocvars].varname = varname; |
144 | return fs->nlocvars++; | 144 | return fs->nlocvars++; |
145 | } | 145 | } |
@@ -148,7 +148,8 @@ static int luaI_registerlocalvar (LexState *ls, TString *varname) { | |||
148 | static void new_localvar (LexState *ls, TString *name, int n) { | 148 | static void new_localvar (LexState *ls, TString *name, int n) { |
149 | FuncState *fs = ls->fs; | 149 | FuncState *fs = ls->fs; |
150 | luaX_checklimit(ls, fs->nactvar+n+1, MAXVARS, "local variables"); | 150 | luaX_checklimit(ls, fs->nactvar+n+1, MAXVARS, "local variables"); |
151 | fs->actvar[fs->nactvar+n] = luaI_registerlocalvar(ls, name); | 151 | fs->actvar[fs->nactvar+n] = cast(unsigned short, |
152 | luaI_registerlocalvar(ls, name)); | ||
152 | } | 153 | } |
153 | 154 | ||
154 | 155 | ||
@@ -187,8 +188,9 @@ static int indexupvalue (FuncState *fs, TString *name, expdesc *v) { | |||
187 | luaM_growvector(fs->L, fs->f->upvalues, f->nups, fs->f->sizeupvalues, | 188 | luaM_growvector(fs->L, fs->f->upvalues, f->nups, fs->f->sizeupvalues, |
188 | TString *, MAX_INT, ""); | 189 | TString *, MAX_INT, ""); |
189 | fs->f->upvalues[f->nups] = name; | 190 | fs->f->upvalues[f->nups] = name; |
190 | fs->upvalues[f->nups].k = v->k; | 191 | lua_assert(v->k == VLOCAL || v->k == VUPVAL); |
191 | fs->upvalues[f->nups].info = v->info; | 192 | fs->upvalues[f->nups].k = cast(lu_byte, v->k); |
193 | fs->upvalues[f->nups].info = cast(lu_byte, v->info); | ||
192 | return f->nups++; | 194 | return f->nups++; |
193 | } | 195 | } |
194 | 196 | ||