diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-05-27 17:35:40 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-05-27 17:35:40 -0300 |
| commit | 46c471d7e97292d923721655683affd7e8b314de (patch) | |
| tree | c9ae53cc94b1cca209fd5af7f594d355d6c111a9 /lcode.c | |
| parent | 859ecf36b6f96a5a0961f09c00cd98088081384c (diff) | |
| download | lua-46c471d7e97292d923721655683affd7e8b314de.tar.gz lua-46c471d7e97292d923721655683affd7e8b314de.tar.bz2 lua-46c471d7e97292d923721655683affd7e8b314de.zip | |
new `__newindex' eventfield
Diffstat (limited to 'lcode.c')
| -rw-r--r-- | lcode.c | 6 |
1 files changed, 2 insertions, 4 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lcode.c,v 1.103 2002/05/13 13:07:48 roberto Exp roberto $ | 2 | ** $Id: lcode.c,v 1.104 2002/05/14 17:52:22 roberto Exp roberto $ |
| 3 | ** Code generator for Lua | 3 | ** Code generator for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -211,13 +211,11 @@ static int addk (FuncState *fs, TObject *k, TObject *v) { | |||
| 211 | return cast(int, nvalue(index)); | 211 | return cast(int, nvalue(index)); |
| 212 | } | 212 | } |
| 213 | else { /* constant not found; create a new entry */ | 213 | else { /* constant not found; create a new entry */ |
| 214 | TObject o; | ||
| 215 | Proto *f = fs->f; | 214 | Proto *f = fs->f; |
| 216 | luaM_growvector(fs->L, f->k, fs->nk, f->sizek, TObject, | 215 | luaM_growvector(fs->L, f->k, fs->nk, f->sizek, TObject, |
| 217 | MAXARG_Bx, "constant table overflow"); | 216 | MAXARG_Bx, "constant table overflow"); |
| 218 | setobj(&f->k[fs->nk], v); | 217 | setobj(&f->k[fs->nk], v); |
| 219 | setnvalue(&o, fs->nk); | 218 | setnvalue(luaH_set(fs->L, fs->h, k), fs->nk); |
| 220 | luaH_set(fs->L, fs->h, k, &o); | ||
| 221 | return fs->nk++; | 219 | return fs->nk++; |
| 222 | } | 220 | } |
| 223 | } | 221 | } |
