diff options
Diffstat (limited to '')
| -rw-r--r-- | lapi.c | 18 |
1 files changed, 8 insertions, 10 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lapi.c,v 1.45 1999/05/14 12:24:20 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 1.46 1999/06/17 17:04:03 roberto Exp roberto $ |
| 3 | ** Lua API | 3 | ** Lua API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -131,7 +131,7 @@ int lua_callfunction (lua_Object function) | |||
| 131 | else { | 131 | else { |
| 132 | luaD_openstack((L->stack.top-L->stack.stack)-L->Cstack.base); | 132 | luaD_openstack((L->stack.top-L->stack.stack)-L->Cstack.base); |
| 133 | set_normalized(L->stack.stack+L->Cstack.base, Address(function)); | 133 | set_normalized(L->stack.stack+L->Cstack.base, Address(function)); |
| 134 | return luaD_protectedrun(MULT_RET); | 134 | return luaD_protectedrun(); |
| 135 | } | 135 | } |
| 136 | } | 136 | } |
| 137 | 137 | ||
| @@ -675,17 +675,15 @@ lua_Object lua_getref (int ref) { | |||
| 675 | ** API: set a function as a fallback | 675 | ** API: set a function as a fallback |
| 676 | */ | 676 | */ |
| 677 | 677 | ||
| 678 | static void do_unprotectedrun (lua_CFunction f, int nParams, int nResults) | 678 | static void do_unprotectedrun (lua_CFunction f, int nParams, int nResults) { |
| 679 | { | ||
| 680 | StkId base = (L->stack.top-L->stack.stack)-nParams; | ||
| 681 | luaD_openstack(nParams); | 679 | luaD_openstack(nParams); |
| 682 | L->stack.stack[base].ttype = LUA_T_CPROTO; | 680 | (L->stack.top-nParams)->ttype = LUA_T_CPROTO; |
| 683 | L->stack.stack[base].value.f = f; | 681 | (L->stack.top-nParams)->value.f = f; |
| 684 | luaD_call(base+1, nResults); | 682 | luaD_calln(nParams, nResults); |
| 685 | } | 683 | } |
| 686 | 684 | ||
| 687 | lua_Object lua_setfallback (char *name, lua_CFunction fallback) | 685 | |
| 688 | { | 686 | lua_Object lua_setfallback (char *name, lua_CFunction fallback) { |
| 689 | lua_pushstring(name); | 687 | lua_pushstring(name); |
| 690 | lua_pushcfunction(fallback); | 688 | lua_pushcfunction(fallback); |
| 691 | do_unprotectedrun(luaT_setfallback, 2, 1); | 689 | do_unprotectedrun(luaT_setfallback, 2, 1); |
