diff options
Diffstat (limited to 'lapi.c')
-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); |