diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-10-28 10:20:07 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-10-28 10:20:07 -0200 |
commit | 77077b39d59aa50bd64c7b7c5e660c6e187d11f2 (patch) | |
tree | 064e7a8949790985624d859ccc12f9be52508181 /lvm.c | |
parent | 5bc91c640588ca77b9f84146fc88fcc9bdbfbcd1 (diff) | |
download | lua-77077b39d59aa50bd64c7b7c5e660c6e187d11f2.tar.gz lua-77077b39d59aa50bd64c7b7c5e660c6e187d11f2.tar.bz2 lua-77077b39d59aa50bd64c7b7c5e660c6e187d11f2.zip |
comment explaining OP_VARARG was wrong (and corresponding code was not
very clear)
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.98 2009/09/28 16:32:50 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.99 2009/09/30 15:38:37 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 | */ |
@@ -801,10 +801,10 @@ void luaV_execute (lua_State *L) { | |||
801 | int b = GETARG_B(i) - 1; | 801 | int b = GETARG_B(i) - 1; |
802 | int j; | 802 | int j; |
803 | int n = cast_int(base - ci->func) - cl->p->numparams - 1; | 803 | int n = cast_int(base - ci->func) - cl->p->numparams - 1; |
804 | if (b == LUA_MULTRET) { | 804 | if (b < 0) { /* B == 0? */ |
805 | b = n; /* get all var. arguments */ | ||
805 | Protect(luaD_checkstack(L, n)); | 806 | Protect(luaD_checkstack(L, n)); |
806 | ra = RA(i); /* previous call may change the stack */ | 807 | ra = RA(i); /* previous call may change the stack */ |
807 | b = n; | ||
808 | L->top = ra + n; | 808 | L->top = ra + n; |
809 | } | 809 | } |
810 | for (j = 0; j < b; j++) { | 810 | for (j = 0; j < b; j++) { |