summaryrefslogtreecommitdiffstats
path: root/apps/plugins/lua/loslib.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lua/loslib.c')
-rw-r--r--apps/plugins/lua/loslib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/plugins/lua/loslib.c b/apps/plugins/lua/loslib.c
index dce8811fbe..a0ea8e8c24 100644
--- a/apps/plugins/lua/loslib.c
+++ b/apps/plugins/lua/loslib.c
@@ -172,8 +172,11 @@ static int os_time (lua_State *L) {
static int os_exit (lua_State *L) {
+ lua_settop(L, 2);
int status = luaL_optint(L, 1, EXIT_SUCCESS);
- lua_close(L);
+ if (status != EXIT_SUCCESS && lua_type (L, 2) != LUA_TSTRING)
+ lua_pushfstring(L, "exit (%d)", status);
+ lua_pushvalue(L, 1); /* put exit status on top of stack */
exit(status);
return EXIT_SUCCESS; /* never reached, surpress warning */
}