mirror of
https://github.com/TangentFoxy/lua-sandbox.git
synced 2025-07-27 18:42:21 +00:00
fixing missing pack/unpack closes #1
This commit is contained in:
20
sandbox.lua
20
sandbox.lua
@@ -1,5 +1,5 @@
|
|||||||
local sandbox = {
|
local sandbox = {
|
||||||
_VERSION = "sandbox 0.5",
|
_VERSION = "sandbox 0.5.1",
|
||||||
_DESCRIPTION = "A pure-lua solution for running untrusted Lua code.",
|
_DESCRIPTION = "A pure-lua solution for running untrusted Lua code.",
|
||||||
_URL = "https://github.com/kikito/sandbox.lua",
|
_URL = "https://github.com/kikito/sandbox.lua",
|
||||||
_LICENSE = [[
|
_LICENSE = [[
|
||||||
@@ -29,6 +29,24 @@ local sandbox = {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- 0.5.1 fixing missing pack and unpack functions for some Lua versions
|
||||||
|
if not table.pack then
|
||||||
|
table.pack = function(...)
|
||||||
|
local t = {...}
|
||||||
|
t.n = select("#", ...)
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if not table.unpack then
|
||||||
|
table.unpack = function(tab, start, finish)
|
||||||
|
local result = {}
|
||||||
|
for i = start or 1, finish or #tab do
|
||||||
|
result[#result + 1] = tab[i]
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- quotas don't work in LuaJIT since debug.sethook works differently there
|
-- quotas don't work in LuaJIT since debug.sethook works differently there
|
||||||
local quota_supported = type(_G.jit) == "nil"
|
local quota_supported = type(_G.jit) == "nil"
|
||||||
sandbox.quota_supported = quota_supported
|
sandbox.quota_supported = quota_supported
|
||||||
|
Reference in New Issue
Block a user