aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldo.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ldo.c b/ldo.c
index dd0bf405..bbdffbac 100644
--- a/ldo.c
+++ b/ldo.c
@@ -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? */