lua

A copy of the Lua development repository
Log | Files | Refs | README

commit a845a46cc883a76cb5175c0755805ba44a37d909
parent 097edd388494bf8d294adb101b9c5fda688813e1
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Thu, 14 Nov 2002 13:41:43 -0200

C function may leave garbage on the stack (besides return values)

Diffstat:
Mlua.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lua.c b/lua.c @@ -1,5 +1,5 @@ /* -** $Id: lua.c,v 1.106 2002/10/21 20:43:38 roberto Exp roberto $ +** $Id: lua.c,v 1.107 2002/11/11 13:28:06 roberto Exp roberto $ ** Lua stand-alone interpreter ** See Copyright Notice in lua.h */ @@ -362,8 +362,10 @@ static int handle_argv (char *argv[], int *interactive) { static void openstdlibs (lua_State *l) { const luaL_reg *lib = lualibs; - for (; lib->name; lib++) - lua_pop(l, lib->func(l)); /* open library, discard any results */ + for (; lib->name; lib++) { + lib->func(l); /* open library */ + lua_settop(l, 0); /* discard any results */ + } }