auxiliar function "luaD_calln".

This commit is contained in:
Roberto Ierusalimschy 1998-07-12 13:14:34 -03:00
parent ad446a0eb0
commit ee912e5a7f
2 changed files with 9 additions and 5 deletions

11
ldo.c
View File

@ -1,5 +1,5 @@
/*
** $Id: ldo.c,v 1.26 1998/06/15 21:34:14 roberto Exp roberto $
** $Id: ldo.c,v 1.27 1998/06/19 18:47:06 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@ -172,11 +172,10 @@ static StkId callCclosure (struct Closure *cl, lua_CFunction f, StkId base)
}
void luaD_callTM (TObject *f, int nParams, int nResults)
{
void luaD_callTM (TObject *f, int nParams, int nResults) {
luaD_openstack(nParams);
*(L->stack.top-nParams-1) = *f;
luaD_call((L->stack.top-L->stack.stack)-nParams, nResults);
luaD_calln(nParams, nResults);
}
@ -230,6 +229,10 @@ void luaD_call (StkId base, int nResults)
}
void luaD_calln (int nArgs, int nResults) {
luaD_call((L->stack.top-L->stack.stack)-nArgs, nResults);
}
/*
** Traverse all objects on L->stack.stack

3
ldo.h
View File

@ -1,5 +1,5 @@
/*
** $Id: ldo.h,v 1.3 1997/11/19 17:29:23 roberto Exp roberto $
** $Id: ldo.h,v 1.4 1997/12/15 16:17:20 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@ -36,6 +36,7 @@ void luaD_openstack (int nelems);
void luaD_lineHook (int line);
void luaD_callHook (StkId base, TProtoFunc *tf, int isreturn);
void luaD_call (StkId base, int nResults);
void luaD_calln (int nArgs, int nResults);
void luaD_callTM (TObject *f, int nParams, int nResults);
int luaD_protectedrun (int nResults);
void luaD_gcIM (TObject *o);