diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-04-10 15:05:08 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-04-10 15:05:08 -0300 |
commit | f1f271ae76e626d1e6ffe71d5589d9e0d995bac1 (patch) | |
tree | 601395f5038bb6c8904c01a1c14a39e2dd79acb6 /ldo.c | |
parent | 6c7334a9ac4b424a4fd52bfeb4d674bc7cfa4eb3 (diff) | |
download | lua-f1f271ae76e626d1e6ffe71d5589d9e0d995bac1.tar.gz lua-f1f271ae76e626d1e6ffe71d5589d9e0d995bac1.tar.bz2 lua-f1f271ae76e626d1e6ffe71d5589d9e0d995bac1.zip |
details
Diffstat (limited to 'ldo.c')
-rw-r--r-- | ldo.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldo.c,v 1.167 2002/03/25 19:45:06 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 1.168 2002/03/26 20:46:10 roberto Exp roberto $ |
3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -161,6 +161,7 @@ static void luaD_callHook (lua_State *L, lua_Hook callhook, const char *event) { | |||
161 | ar.event = event; | 161 | ar.event = event; |
162 | ar.i_ci = L->ci - L->base_ci; | 162 | ar.i_ci = L->ci - L->base_ci; |
163 | L->ci->pc = NULL; /* function is not active */ | 163 | L->ci->pc = NULL; /* function is not active */ |
164 | L->ci->top = L->ci->base; /* `top' may not have a valid value yet */ | ||
164 | dohook(L, &ar, callhook); | 165 | dohook(L, &ar, callhook); |
165 | } | 166 | } |
166 | } | 167 | } |
@@ -208,7 +209,7 @@ StkId luaD_precall (lua_State *L, StkId func) { | |||
208 | LClosure *cl; | 209 | LClosure *cl; |
209 | if (++L->ci == L->end_ci) luaD_growCI(L); | 210 | if (++L->ci == L->end_ci) luaD_growCI(L); |
210 | ci = L->ci; | 211 | ci = L->ci; |
211 | ci->base = ci->top = func+1; /* pre-init `top' in case of errors */ | 212 | ci->base = func+1; |
212 | ci->pc = NULL; | 213 | ci->pc = NULL; |
213 | if (ttype(func) != LUA_TFUNCTION) /* `func' is not a function? */ | 214 | if (ttype(func) != LUA_TFUNCTION) /* `func' is not a function? */ |
214 | func = tryfuncTM(L, func); /* check the `function' tag method */ | 215 | func = tryfuncTM(L, func); /* check the `function' tag method */ |