From f8bf05513c8c7158f8ce7dd16407e24c75291f0e Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Thu, 18 Sep 2014 18:27:57 +0800 Subject: [PATCH] set _ENV to metatable when shadredatad read file --- service/sharedatad.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/service/sharedatad.lua b/service/sharedatad.lua index c5c0c925..40c183c4 100644 --- a/service/sharedatad.lua +++ b/service/sharedatad.lua @@ -32,15 +32,18 @@ end local CMD = {} +local env_mt = { __index = _ENV } + function CMD.new(name, t) local dt = type(t) local value if dt == "table" then value = t elseif dt == "string" then - value = {} + value = setmetatable({}, env_mt) local f = load(t, "=" .. name, "t", value) f() + setmetatable(value, nil) elseif dt == "nil" then value = {} else