diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-06-13 11:39:19 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2005-06-13 11:39:19 -0300 |
commit | 3c2cf9db672bb18dde960ec445a3c98c56435f98 (patch) | |
tree | c1a55696de7cbefd109cd05da70d7d5405c5abbb | |
parent | 0b71bfd6af466b2f195545a9348c9ba5c5d40dcc (diff) | |
download | lua-3c2cf9db672bb18dde960ec445a3c98c56435f98.tar.gz lua-3c2cf9db672bb18dde960ec445a3c98c56435f98.tar.bz2 lua-3c2cf9db672bb18dde960ec445a3c98c56435f98.zip |
some extra consistency checks
-rw-r--r-- | ldebug.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldebug.c,v 2.21 2005/05/31 14:25:18 roberto Exp roberto $ | 2 | ** $Id: ldebug.c,v 2.22 2005/06/13 14:15:54 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 | */ |
@@ -275,8 +275,11 @@ LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { | |||
275 | 275 | ||
276 | static int precheck (const Proto *pt) { | 276 | static int precheck (const Proto *pt) { |
277 | check(pt->maxstacksize <= MAXSTACK); | 277 | check(pt->maxstacksize <= MAXSTACK); |
278 | check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); | ||
279 | lua_assert(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize); | 278 | lua_assert(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize); |
279 | lua_assert(!(pt->is_vararg & VARARG_NEEDSARG) || | ||
280 | (pt->is_vararg & VARARG_HASARG)); | ||
281 | check(pt->sizeupvalues <= pt->nups); | ||
282 | check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0); | ||
280 | check(GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); | 283 | check(GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN); |
281 | return 1; | 284 | return 1; |
282 | } | 285 | } |