diff options
Diffstat (limited to 'loslib.c')
-rw-r--r-- | loslib.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: loslib.c,v 1.30 2010/07/02 11:38:13 roberto Exp roberto $ | 2 | ** $Id: loslib.c,v 1.31 2010/07/02 12:01:53 roberto Exp roberto $ |
3 | ** Standard Operating System library | 3 | ** Standard Operating System library |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -276,7 +276,11 @@ static int os_setlocale (lua_State *L) { | |||
276 | 276 | ||
277 | 277 | ||
278 | static int os_exit (lua_State *L) { | 278 | static int os_exit (lua_State *L) { |
279 | int status = luaL_optint(L, 1, EXIT_SUCCESS); | 279 | int status; |
280 | if (lua_isboolean(L, 1)) | ||
281 | status = (lua_toboolean(L, 1) ? EXIT_SUCCESS : EXIT_FAILURE); | ||
282 | else | ||
283 | status = luaL_optint(L, 1, EXIT_SUCCESS); | ||
280 | if (lua_toboolean(L, 2)) | 284 | if (lua_toboolean(L, 2)) |
281 | lua_close(L); | 285 | lua_close(L); |
282 | exit(status); | 286 | exit(status); |