From 8bc33a088c99c21493dee173fb394003f3331454 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 5 Oct 2010 09:18:03 -0300 Subject: 'os.exit' acceps booleans as status (for EXIT_SUCESS and EXIT_FAILURE) --- loslib.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'loslib.c') diff --git a/loslib.c b/loslib.c index 6baebd91..95ec7395 100644 --- 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); -- cgit v1.2.3-55-g6feb