diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2010-06-04 10:06:15 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2010-06-04 10:06:15 -0300 |
commit | 545f43065ff8fa20e5f8254e6270d00694b847dd (patch) | |
tree | 22660d6087cd7c5b342652d6e3ee555df58fdabd | |
parent | 3819c30e5553b98ceb7d8d2da20c9da25cbdc62a (diff) | |
download | lua-github-545f43065ff8fa20e5f8254e6270d00694b847dd.tar.gz |
'luaF_newLclosure' gets prototype of new closure as argument
-rw-r--r-- | ldo.c | 5 | ||||
-rw-r--r-- | lfunc.h | 4 |
2 files changed, 4 insertions, 5 deletions
@@ -1,5 +1,5 @@ /* -** $Id: ldo.c,v 2.86 2010/04/18 13:22:48 roberto Exp roberto $ +** $Id: ldo.c,v 2.87 2010/05/05 18:49:56 roberto Exp roberto $ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ @@ -630,8 +630,7 @@ static void f_parser (lua_State *L, void *ud) { : luaY_parser(L, p->z, &p->buff, &p->varl, p->name); setptvalue2s(L, L->top, tf); incr_top(L); - cl = luaF_newLclosure(L, tf->sizeupvalues); - cl->l.p = tf; + cl = luaF_newLclosure(L, tf); setclvalue(L, L->top - 1, cl); for (i = 0; i < tf->sizeupvalues; i++) /* initialize upvalues */ cl->l.upvals[i] = luaF_newupval(L); @@ -1,5 +1,5 @@ /* -** $Id: lfunc.h,v 2.4 2005/04/25 19:24:10 roberto Exp roberto $ +** $Id: lfunc.h,v 2.5 2010/03/26 20:58:11 roberto Exp roberto $ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ @@ -20,7 +20,7 @@ LUAI_FUNC Proto *luaF_newproto (lua_State *L); LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems); -LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems); +LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, Proto *p); LUAI_FUNC UpVal *luaF_newupval (lua_State *L); LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); LUAI_FUNC void luaF_close (lua_State *L, StkId level); |