diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua index 0f982fa1c..72e55683b 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/core/full_text.lua @@ -181,7 +181,7 @@ function text.internal.reader(txt, mode) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(reader) - return require("buffer").new((mode:match("[rb]+") or "r"), reader) + return require("buffer").new((mode or "r"):match("[rb]+"), reader) end function text.internal.writer(ostream, mode, append_txt) @@ -223,7 +223,7 @@ function text.internal.writer(ostream, mode, append_txt) }, {__index=text.internal.stream_base((mode or ""):match("b"))}) process.closeOnExit(writer) - return require("buffer").new((mode:match("[awb]+") or "w"), writer) + return require("buffer").new((mode or "w"):match("[awb]+"), writer) end function text.detab(value, tabWidth) diff --git a/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua b/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua index 1a6f25ce7..b6ff97116 100644 --- a/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua +++ b/src/main/resources/assets/opencomputers/loot/openos/lib/io.lua @@ -47,17 +47,12 @@ end function io.stream(fd,file,mode) checkArg(1,fd,'number') + checkArg(2, file, "table", "string", "nil") assert(fd>=0,'fd must be >= 0. 0 is input, 1 is stdout, 2 is stderr') local dio = require("process").info().data.io if file then if type(file) == "string" then - local result, reason = io.open(file, mode) - if not result then - error(reason, 2) - end - file = result - elseif not io.type(file) then - error("bad argument #1 (string or file expected, got " .. type(file) .. ")", 2) + file = assert(io.open(file, mode)) end dio[fd] = file end