summaryrefslogtreecommitdiffstats
path: root/config/update_device.lua
diff options
context:
space:
mode:
Diffstat (limited to 'config/update_device.lua')
-rw-r--r--config/update_device.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/config/update_device.lua b/config/update_device.lua
index 302b3a7..cb575e9 100644
--- a/config/update_device.lua
+++ b/config/update_device.lua
@@ -4,11 +4,17 @@ local functions, device, olddevice, params, oldparams = ...
--functions.logevent("got to update_device script")
-- We'll handle the changing of the device by handling the resulting changing of the params
+local f
local env = {}
setmetatable (env, {__index = _G})
--- loadfile loads into the global environment
--- so we set env 0, not env 1
-setfenv (0, env)
-local f = loadfile("/etc/provisioning/update_device_params.lua")
+local IS_52_LOAD = pcall(load, '')
+if IS_52_LOAD then
+ local f = loadfile("/etc/provisioning/update_device_params.lua", "bt", env)
+else
+ -- loadfile loads into the global environment
+ -- so we set env 0, not env 1
+ setfenv (0, env)
+ local f = loadfile("/etc/provisioning/update_device_params.lua")
+ setfenv (0, _G)
+end
if (f) then f(functions, params, oldparams) end
-setfenv (0, _G)