diff options
author | Benoit Giannangeli <giann008@gmail.com> | 2017-04-28 14:42:41 +0200 |
---|---|---|
committer | Benoit Giannangeli <giann008@gmail.com> | 2017-04-28 14:42:41 +0200 |
commit | 354d659f577fc27969784400c8c1e6090756da7b (patch) | |
tree | 4aa17f23121794bc8b855e2ed0bf85951281b37e /src/loslib.js | |
parent | cebad06a3429e28cb5e0c247c707bb5eb51943d8 (diff) | |
download | fengari-354d659f577fc27969784400c8c1e6090756da7b.tar.gz fengari-354d659f577fc27969784400c8c1e6090756da7b.tar.bz2 fengari-354d659f577fc27969784400c8c1e6090756da7b.zip |
os.exit
Diffstat (limited to 'src/loslib.js')
-rw-r--r-- | src/loslib.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/loslib.js b/src/loslib.js index 3892d35..a715aec 100644 --- a/src/loslib.js +++ b/src/loslib.js @@ -66,6 +66,23 @@ const syslib = { "time": os_time }; +// Only with Node +if (process && process.exit) { + const os_exit = function(L) { + let status; + if (lua.lua_isboolean(L, 1)) + status = (lua.lua_toboolean(L, 1) ? 0 : 1); + else + status = lauxlib.luaL_optinteger(L, 1, 0); + if (lua.lua_toboolean(L, 2)) + lua.lua_close(L); + if (L) process.exit(status); /* 'if' to avoid warnings for unreachable 'return' */ + return 0; + }; + + syslib.exit = os_exit; +} + const luaopen_os = function(L) { lauxlib.luaL_newlib(L, syslib); return 1; |