diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-12 11:19:51 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-08-12 11:19:51 -0300 |
commit | c7dda42c2f5a7aec34c0970164a55d4038daf7ec (patch) | |
tree | a2911744fb577d369bfb494936ddead96babc54f | |
parent | 26ae992129d5566ee973c0ff78fd709cd5d91271 (diff) | |
download | lua-c7dda42c2f5a7aec34c0970164a55d4038daf7ec.tar.gz lua-c7dda42c2f5a7aec34c0970164a55d4038daf7ec.tar.bz2 lua-c7dda42c2f5a7aec34c0970164a55d4038daf7ec.zip |
bug (due to new handling of varargs)
-rw-r--r-- | lvm.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.11 2004/06/29 18:49:02 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.12 2004/08/10 19:17:23 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -623,7 +623,8 @@ StkId luaV_execute (lua_State *L, int nexeccalls) { | |||
623 | if (L->openupval) luaF_close(L, base); | 623 | if (L->openupval) luaF_close(L, base); |
624 | for (aux = 0; pfunc+aux < L->top; aux++) /* move frame down */ | 624 | for (aux = 0; pfunc+aux < L->top; aux++) /* move frame down */ |
625 | setobjs2s(L, func+aux, pfunc+aux); | 625 | setobjs2s(L, func+aux, pfunc+aux); |
626 | ci->top = L->top = base+aux; /* correct top */ | 626 | ci->top = L->top = func+aux; /* correct top */ |
627 | lua_assert(L->top == L->base + clvalue(func)->l.p->maxstacksize); | ||
627 | ci->savedpc = L->ci->savedpc; | 628 | ci->savedpc = L->ci->savedpc; |
628 | ci->tailcalls++; /* one more call lost */ | 629 | ci->tailcalls++; /* one more call lost */ |
629 | L->ci--; /* remove new frame */ | 630 | L->ci--; /* remove new frame */ |