mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 20:23:06 +00:00
loadx return error string
This commit is contained in:
@@ -19,14 +19,14 @@ cookie = "local function __setenv() end;"
|
|||||||
local load = load
|
local load = load
|
||||||
|
|
||||||
function _G.load(ld, chunkname, mode, env)
|
function _G.load(ld, chunkname, mode, env)
|
||||||
local f
|
local f,err
|
||||||
if type(ld) == "string" then
|
if type(ld) == "string" then
|
||||||
f = load(cookie .. ld, chunkname, mode, env)
|
f,err = load(cookie .. ld, chunkname, mode, env)
|
||||||
else
|
else
|
||||||
f = load(make_ld(ld), chunkname)
|
f,err = load(make_ld(ld), chunkname)
|
||||||
end
|
end
|
||||||
|
|
||||||
return f
|
return f,err
|
||||||
end
|
end
|
||||||
|
|
||||||
function _G.loadfile(filename, mode, env)
|
function _G.loadfile(filename, mode, env)
|
||||||
@@ -59,11 +59,14 @@ end
|
|||||||
cookie = "local _ENV,__setenv = __getenv();"
|
cookie = "local _ENV,__setenv = __getenv();"
|
||||||
|
|
||||||
function _G.load(ld, chunkname, mode, env)
|
function _G.load(ld, chunkname, mode, env)
|
||||||
local f
|
local f,err
|
||||||
if type(ld) == "string" then
|
if type(ld) == "string" then
|
||||||
f = loadstring(cookie .. ld, chunkname)
|
f,err = loadstring(cookie .. ld, chunkname)
|
||||||
else
|
else
|
||||||
f = load(make_ld(ld), chunkname)
|
f,err = load(make_ld(ld), chunkname)
|
||||||
|
end
|
||||||
|
if f == nil then
|
||||||
|
return f, err
|
||||||
end
|
end
|
||||||
env = env or getfenv(1)
|
env = env or getfenv(1)
|
||||||
setfenv(f, { __getenv = function()
|
setfenv(f, { __getenv = function()
|
||||||
@@ -71,7 +74,7 @@ function _G.load(ld, chunkname, mode, env)
|
|||||||
return env, __setenv
|
return env, __setenv
|
||||||
end })
|
end })
|
||||||
|
|
||||||
return f
|
return f,err
|
||||||
end
|
end
|
||||||
|
|
||||||
function _G.loadfile(filename, mode, env)
|
function _G.loadfile(filename, mode, env)
|
||||||
|
|||||||
Reference in New Issue
Block a user