loadx return error string

This commit is contained in:
云风
2012-09-12 14:33:11 +08:00
parent 1c6267025a
commit 1b5d82820b

View File

@@ -19,14 +19,14 @@ cookie = "local function __setenv() end;"
local load = load
function _G.load(ld, chunkname, mode, env)
local f
local f,err
if type(ld) == "string" then
f = load(cookie .. ld, chunkname, mode, env)
f,err = load(cookie .. ld, chunkname, mode, env)
else
f = load(make_ld(ld), chunkname)
f,err = load(make_ld(ld), chunkname)
end
return f
return f,err
end
function _G.loadfile(filename, mode, env)
@@ -59,11 +59,14 @@ end
cookie = "local _ENV,__setenv = __getenv();"
function _G.load(ld, chunkname, mode, env)
local f
local f,err
if type(ld) == "string" then
f = loadstring(cookie .. ld, chunkname)
f,err = loadstring(cookie .. ld, chunkname)
else
f = load(make_ld(ld), chunkname)
f,err = load(make_ld(ld), chunkname)
end
if f == nil then
return f, err
end
env = env or getfenv(1)
setfenv(f, { __getenv = function()
@@ -71,7 +74,7 @@ function _G.load(ld, chunkname, mode, env)
return env, __setenv
end })
return f
return f,err
end
function _G.loadfile(filename, mode, env)