From 93bf6185048256a5df05986460f233ee65136731 Mon Sep 17 00:00:00 2001
From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 15 Aug 2006 16:59:20 -0300
Subject: BUG: there is only one C stack, so nCcalls must be global

---
 lparser.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

(limited to 'lparser.c')

diff --git a/lparser.c b/lparser.c
index 349cfd10..4a2372d3 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
 /*
-** $Id: lparser.c,v 2.44 2006/07/11 15:53:29 roberto Exp roberto $
+** $Id: lparser.c,v 2.45 2006/07/12 19:02:50 roberto Exp roberto $
 ** Lua Parser
 ** See Copyright Notice in lua.h
 */
@@ -73,7 +73,7 @@ static void errorlimit (FuncState *fs, int limit, const char *what) {
     luaO_pushfstring(fs->L, "main function has more than %d %s", limit, what) :
     luaO_pushfstring(fs->L, "function at line %d has more than %d %s",
                             fs->f->linedefined, limit, what);
-  luaX_lexerror(fs->ls, msg, 0);
+  luaX_lexerror(fs->ls, msg, fs->ls->t.token);
 }
 
 
@@ -274,12 +274,13 @@ static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) {
 
 
 static void enterlevel (LexState *ls) {
-  ++ls->L->nCcalls;
-  luaY_checklimit(ls->fs, ls->L->nCcalls, LUAI_MAXCCALLS, "syntax levels");
+  global_State *g = G(ls->L);
+  ++g->nCcalls;
+  luaY_checklimit(ls->fs, g->nCcalls, LUAI_MAXCCALLS, "syntax levels");
 }
 
 
-#define leavelevel(ls)	((ls)->L->nCcalls--)
+#define leavelevel(ls)	(G((ls)->L)->nCcalls--)
 
 
 static void enterblock (FuncState *fs, BlockCnt *bl, lu_byte isbreakable) {
-- 
cgit v1.2.3-55-g6feb