diff options
Diffstat (limited to 'ldebug.c')
-rw-r--r-- | ldebug.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldebug.c,v 2.43 2009/03/04 13:32:29 roberto Exp roberto $ | 2 | ** $Id: ldebug.c,v 2.44 2009/03/10 17:14:37 roberto Exp roberto $ |
3 | ** Debug Interface | 3 | ** Debug Interface |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -278,8 +278,7 @@ LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { | |||
278 | 278 | ||
279 | static int precheck (const Proto *pt) { | 279 | static int precheck (const Proto *pt) { |
280 | check(pt->maxstacksize <= MAXSTACK); | 280 | check(pt->maxstacksize <= MAXSTACK); |
281 | check(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize); | 281 | check(pt->numparams <= pt->maxstacksize); |
282 | check(!(pt->is_vararg & VARARG_NEEDSARG) || (pt->is_vararg & VARARG_HASARG)); | ||
283 | check(pt->sizeupvalues == pt->nups || pt->sizeupvalues == 0); | 282 | check(pt->sizeupvalues == pt->nups || pt->sizeupvalues == 0); |
284 | check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); | 283 | check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); |
285 | check(pt->sizecode > 0 && GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); | 284 | check(pt->sizecode > 0 && GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); |
@@ -445,8 +444,7 @@ static Instruction symbexec (const Proto *pt, int lastpc, int reg) { | |||
445 | break; | 444 | break; |
446 | } | 445 | } |
447 | case OP_VARARG: { | 446 | case OP_VARARG: { |
448 | check((pt->is_vararg & VARARG_ISVARARG) && | 447 | check(pt->is_vararg); |
449 | !(pt->is_vararg & VARARG_NEEDSARG)); | ||
450 | b--; | 448 | b--; |
451 | if (b == LUA_MULTRET) check(checkopenop(pt, pc)); | 449 | if (b == LUA_MULTRET) check(checkopenop(pt, pc)); |
452 | checkreg(pt, a+b-1); | 450 | checkreg(pt, a+b-1); |