mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-08-07 02:10:27 +00:00
Reset Lua stack to drop unused returned values
Since some Lua code may return values that will be left on stack, they need to be removed to avoid growing the stack unnecessarily.
This commit is contained in:
parent
d31bebdd2d
commit
ef1a830d57
1 changed files with 2 additions and 1 deletions
|
@ -176,6 +176,7 @@ STATIC_YOINK("zip_uri_support");
|
|||
char *s = LuaFormatStack(L); \
|
||||
WARNF("lua stack should be empty!\n%s", s); \
|
||||
free(s); \
|
||||
lua_settop(L, 0); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
@ -1065,9 +1066,9 @@ static bool LuaOnClientConnection(void) {
|
|||
dropit = lua_toboolean(L, -1);
|
||||
} else {
|
||||
LogLuaError("OnClientConnection", lua_tostring(L, -1));
|
||||
lua_pop(L, 1); // pop error
|
||||
dropit = false;
|
||||
}
|
||||
lua_pop(L, 1); // pop result or error
|
||||
AssertLuaStackIsEmpty(L);
|
||||
return dropit;
|
||||
#else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue