aboutsummaryrefslogtreecommitdiff
path: root/lapi.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-08-07 11:24:24 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-08-07 11:24:24 -0300
commitb6e2f1a86e2f75c8672b0e9fb8e75438a1f65db9 (patch)
tree49564748b7f01e1c61267f0d0b16f1d70c050971 /lapi.c
parent260e35f576c26bc6feb7728d6c3d3e0240a6faf0 (diff)
downloadlua-b6e2f1a86e2f75c8672b0e9fb8e75438a1f65db9.tar.gz
lua-b6e2f1a86e2f75c8672b0e9fb8e75438a1f65db9.tar.bz2
lua-b6e2f1a86e2f75c8672b0e9fb8e75438a1f65db9.zip
small bugs when stack is reallocated
Diffstat (limited to 'lapi.c')
-rw-r--r--lapi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lapi.c b/lapi.c
index f66ec097..4902be21 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lapi.c,v 1.208 2002/08/06 17:06:56 roberto Exp roberto $ 2** $Id: lapi.c,v 1.209 2002/08/06 18:54:18 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*/
@@ -747,15 +747,15 @@ LUA_API void *lua_newuserdata (lua_State *L, size_t size) {
747 747
748 748
749LUA_API int lua_pushupvalues (lua_State *L) { 749LUA_API int lua_pushupvalues (lua_State *L) {
750 TObject *func; 750 Closure *func;
751 int n, i; 751 int n, i;
752 lua_lock(L); 752 lua_lock(L);
753 func = (L->ci->base - 1); 753 api_check(L, iscfunction(L->ci->base - 1));
754 api_check(L, iscfunction(func)); 754 func = clvalue(L->ci->base - 1);
755 n = clvalue(func)->c.nupvalues; 755 n = func->c.nupvalues;
756 luaD_checkstack(L, n + LUA_MINSTACK); 756 luaD_checkstack(L, n + LUA_MINSTACK);
757 for (i=0; i<n; i++) { 757 for (i=0; i<n; i++) {
758 setobj(L->top, &clvalue(func)->c.upvalue[i]); 758 setobj(L->top, &func->c.upvalue[i]);
759 L->top++; 759 L->top++;
760 } 760 }
761 lua_unlock(L); 761 lua_unlock(L);