diff options
-rw-r--r-- | ldo.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldo.c,v 2.106 2012/06/29 19:23:33 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 2.107 2012/08/28 18:30:45 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 | */ |
@@ -403,7 +403,11 @@ static void finishCcall (lua_State *L) { | |||
403 | int n; | 403 | int n; |
404 | lua_assert(ci->u.c.k != NULL); /* must have a continuation */ | 404 | lua_assert(ci->u.c.k != NULL); /* must have a continuation */ |
405 | lua_assert(L->nny == 0); | 405 | lua_assert(L->nny == 0); |
406 | /* finish 'lua_callk' */ | 406 | if (ci->callstatus & CIST_YPCALL) { /* was inside a pcall? */ |
407 | ci->callstatus &= ~CIST_YPCALL; /* finish 'lua_pcall' */ | ||
408 | L->errfunc = ci->u.c.old_errfunc; | ||
409 | } | ||
410 | /* finish 'lua_callk'/'lua_pcall' */ | ||
407 | adjustresults(L, ci->nresults); | 411 | adjustresults(L, ci->nresults); |
408 | /* call continuation function */ | 412 | /* call continuation function */ |
409 | if (!(ci->callstatus & CIST_STAT)) /* no call status? */ | 413 | if (!(ci->callstatus & CIST_STAT)) /* no call status? */ |