commit 8bc33a088c99c21493dee173fb394003f3331454
parent c3eb89544fd6c435443ae0da7aa5b12491ed9689
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 5 Oct 2010 09:17:39 -0300
'os.exit' acceps booleans as status (for EXIT_SUCESS and EXIT_FAILURE)
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/loslib.c b/loslib.c
@@ -1,5 +1,5 @@
/*
-** $Id: loslib.c,v 1.30 2010/07/02 11:38:13 roberto Exp roberto $
+** $Id: loslib.c,v 1.31 2010/07/02 12:01:53 roberto Exp roberto $
** Standard Operating System library
** See Copyright Notice in lua.h
*/
@@ -276,7 +276,11 @@ static int os_setlocale (lua_State *L) {
static int os_exit (lua_State *L) {
- int status = luaL_optint(L, 1, EXIT_SUCCESS);
+ int status;
+ if (lua_isboolean(L, 1))
+ status = (lua_toboolean(L, 1) ? EXIT_SUCCESS : EXIT_FAILURE);
+ else
+ status = luaL_optint(L, 1, EXIT_SUCCESS);
if (lua_toboolean(L, 2))
lua_close(L);
exit(status);