Software /
code /
prosody
Comparison
plugins/storage/sqlbasic.lib.lua @ 5021:85b2689dbcfe
Eliminate direct setfenv usage
author | Florian Zeitz <florob@babelmonkeys.de> |
---|---|
date | Fri, 08 Jun 2012 05:04:38 +0200 |
parent | 2678:c5882e2e12b5 |
comparison
equal
deleted
inserted
replaced
5020:ef1eb65acbba | 5021:85b2689dbcfe |
---|---|
1 | 1 |
2 -- Basic SQL driver | 2 -- Basic SQL driver |
3 -- This driver stores data as simple key-values | 3 -- This driver stores data as simple key-values |
4 | 4 |
5 local ser = require "util.serialization".serialize; | 5 local ser = require "util.serialization".serialize; |
6 local envload = require "util.envload".envload; | |
6 local deser = function(data) | 7 local deser = function(data) |
7 module:log("debug", "deser: %s", tostring(data)); | 8 module:log("debug", "deser: %s", tostring(data)); |
8 if not data then return nil; end | 9 if not data then return nil; end |
9 local f = loadstring("return "..data); | 10 local f = envload("return "..data, nil, {}); |
10 if not f then return nil; end | 11 if not f then return nil; end |
11 setfenv(f, {}); | |
12 local s, d = pcall(f); | 12 local s, d = pcall(f); |
13 if not s then return nil; end | 13 if not s then return nil; end |
14 return d; | 14 return d; |
15 end; | 15 end; |
16 | 16 |