diff options
Diffstat (limited to 'ldo.c')
| -rw-r--r-- | ldo.c | 7 |
1 files changed, 3 insertions, 4 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldo.c,v 1.221 2003/07/16 20:51:47 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 1.222 2003/08/25 19:51:54 roberto Exp roberto $ |
| 3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -198,7 +198,6 @@ void luaD_callhook (lua_State *L, int event, int line) { | |||
| 198 | static void adjust_varargs (lua_State *L, int nfixargs, StkId base) { | 198 | static void adjust_varargs (lua_State *L, int nfixargs, StkId base) { |
| 199 | int i; | 199 | int i; |
| 200 | Table *htab; | 200 | Table *htab; |
| 201 | TObject nname; | ||
| 202 | int actual = L->top - base; /* actual number of arguments */ | 201 | int actual = L->top - base; /* actual number of arguments */ |
| 203 | if (actual < nfixargs) { | 202 | if (actual < nfixargs) { |
| 204 | luaD_checkstack(L, nfixargs - actual); | 203 | luaD_checkstack(L, nfixargs - actual); |
| @@ -210,8 +209,8 @@ static void adjust_varargs (lua_State *L, int nfixargs, StkId base) { | |||
| 210 | for (i=0; i<actual; i++) /* put extra arguments into `arg' table */ | 209 | for (i=0; i<actual; i++) /* put extra arguments into `arg' table */ |
| 211 | setobj2n(luaH_setnum(L, htab, i+1), L->top - actual + i); | 210 | setobj2n(luaH_setnum(L, htab, i+1), L->top - actual + i); |
| 212 | /* store counter in field `n' */ | 211 | /* store counter in field `n' */ |
| 213 | setsvalue(&nname, luaS_newliteral(L, "n")); | 212 | setnvalue(luaH_setstr(L, htab, luaS_newliteral(L, "n")), |
| 214 | setnvalue(luaH_set(L, htab, &nname), cast(lua_Number, actual)); | 213 | cast(lua_Number, actual)); |
| 215 | L->top -= actual; /* remove extra elements from the stack */ | 214 | L->top -= actual; /* remove extra elements from the stack */ |
| 216 | sethvalue(L->top, htab); | 215 | sethvalue(L->top, htab); |
| 217 | incr_top(L); | 216 | incr_top(L); |
