summaryrefslogtreecommitdiff
path: root/src/liolib.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/liolib.js')
-rw-r--r--src/liolib.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/liolib.js b/src/liolib.js
index 6c7d945..51e18ee 100644
--- a/src/liolib.js
+++ b/src/liolib.js
@@ -78,6 +78,23 @@ const getiofile = function(L, findex) {
return p.f;
};
+const g_iofile = function(L, f, mode) {
+ if (!lua.lua_isnoneornil(L, 1)) {
+ lauxlib.luaL_error(L, lua.to_luastring("opening files not yet implemented"));
+ }
+ /* return current value */
+ lua.lua_getfield(L, lua.LUA_REGISTRYINDEX, f);
+ return 1;
+};
+
+const io_input = function(L) {
+ return g_iofile(L, IO_INPUT, "r");
+};
+
+const io_output = function(L) {
+ return g_iofile(L, IO_OUTPUT, "w");
+};
+
const g_write = function(L, f, arg) {
let nargs = lua.lua_gettop(L) - arg;
let status = true;
@@ -120,6 +137,8 @@ const f_flush = function (L) {
const iolib = {
"close": io_close,
"flush": io_flush,
+ "input": io_input,
+ "output": io_output,
"type": io_type,
"write": io_write
};