diff options
author | Benoit Giannangeli <giann008@gmail.com> | 2017-05-02 09:30:53 +0200 |
---|---|---|
committer | Benoit Giannangeli <giann008@gmail.com> | 2017-05-02 09:30:53 +0200 |
commit | bacc22f7cb26d701c4dbf8609b8e01a030ea6f34 (patch) | |
tree | 8b06b706d88e55865f9026048d61f497d4667fec /src/loslib.js | |
parent | 6775b78235bfa4bc0fcd2c44a1810d8d9fc61b69 (diff) | |
download | fengari-bacc22f7cb26d701c4dbf8609b8e01a030ea6f34.tar.gz fengari-bacc22f7cb26d701c4dbf8609b8e01a030ea6f34.tar.bz2 fengari-bacc22f7cb26d701c4dbf8609b8e01a030ea6f34.zip |
Fixed call to execSync to use stdin/out/err
Diffstat (limited to 'src/loslib.js')
-rw-r--r-- | src/loslib.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/loslib.js b/src/loslib.js index 854e51e..4c3331d 100644 --- a/src/loslib.js +++ b/src/loslib.js @@ -162,27 +162,32 @@ if (typeof require === "function") { if (child_process) { const os_execute = function(L) { let cmd = lauxlib.luaL_optstring(L, 1, null); - let out = false; if (cmd !== null) { try { - out = child_process.execSync(lua.to_jsstring(cmd)); + child_process.execSync( + lua.to_jsstring(cmd), + { + stdio: [process.stdin, process.stdout, process.stderr] + } + ); } catch (e) { return lauxlib.luaL_execresult(L, false, e); } - if (out) console.log(out.asciiSlice()); - return lauxlib.luaL_execresult(L, true); } else { try { - out = child_process.execSync(lua.to_jsstring(cmd)); + child_process.execSync( + lua.to_jsstring(cmd), + { + stdio: [process.stdin, process.stdout, process.stderr] + } + ); lua.lua_pushboolean(L, 1); } catch (e) { lua.lua_pushboolean(L, 0); } - if (out) console.log(out.asciiSlice()); - return 1; } }; |