From ee912e5a7f090314915be7b354be5bfa1002ed79 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Sun, 12 Jul 1998 13:14:34 -0300 Subject: [PATCH] auxiliar function "luaD_calln". --- ldo.c | 11 +++++++---- ldo.h | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ldo.c b/ldo.c index 116d6eb0..20b769d8 100644 --- a/ldo.c +++ b/ldo.c @@ -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 diff --git a/ldo.h b/ldo.h index 61b24d92..b39e737d 100644 --- a/ldo.h +++ b/ldo.h @@ -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);