lua-logic/sim/iosafe.lua
2021-05-19 18:49:04 -05:00

27 lines
563 B
Lua

assert(not io.safe, "re-execution of iosafe")
local iosafe = io
_G.io = {safe = true}
local requiresafe = require
_G.require = nil
local ossafe = os
_G.os = {safe = true}
local savedir = OPT_SAVE_DIR
function io.open(fn, mode)
fn = fn:gsub("\\", "/")
assert(not fn:find("[^a-zA-Z0-9%._ ]"), "illegal character in file name \""..fn.."\"")
assert(not fn:find("%.%."), "illegal updir in file name \""..fn.."\"")
fn = fn:gsub("^/", "")
fn = savedir.."/"..fn
print("access file \""..fn.."\"")
return iosafe.open(fn, mode)
end
os.clock = ossafe.clock