From 3c2cf9db672bb18dde960ec445a3c98c56435f98 Mon Sep 17 00:00:00 2001
From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 13 Jun 2005 11:39:19 -0300
Subject: some extra consistency checks

---
 ldebug.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'ldebug.c')

diff --git a/ldebug.c b/ldebug.c
index a6fa2b58..cc14486b 100644
--- a/ldebug.c
+++ b/ldebug.c
@@ -1,5 +1,5 @@
 /*
-** $Id: ldebug.c,v 2.21 2005/05/31 14:25:18 roberto Exp roberto $
+** $Id: ldebug.c,v 2.22 2005/06/13 14:15:54 roberto Exp roberto $
 ** Debug Interface
 ** See Copyright Notice in lua.h
 */
@@ -275,8 +275,11 @@ LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) {
 
 static int precheck (const Proto *pt) {
   check(pt->maxstacksize <= MAXSTACK);
-  check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0);
   lua_assert(pt->numparams+(pt->is_vararg & VARARG_HASARG) <= pt->maxstacksize);
+  lua_assert(!(pt->is_vararg & VARARG_NEEDSARG) ||
+              (pt->is_vararg & VARARG_HASARG));
+  check(pt->sizeupvalues <= pt->nups);
+  check(pt->sizelineinfo == pt->sizecode || pt->sizelineinfo == 0);
   check(GET_OPCODE(pt->code[pt->sizecode-1]) == OP_RETURN);
   return 1;
 }
-- 
cgit v1.2.3-55-g6feb