diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2017-07-02 18:42:14 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2017-07-02 18:42:14 +0300 |
commit | 65c82f54d6268c55b28ab3a3de088c859f7b88d1 (patch) | |
tree | 50335db5068fa28ad0d7c784fe50a5a1a1150285 | |
parent | f11784f300bba239ec4001a7d323ea828deb72b1 (diff) | |
download | awall-65c82f54d6268c55b28ab3a3de088c859f7b88d1.tar.bz2 awall-65c82f54d6268c55b28ab3a3de088c859f7b88d1.tar.xz |
PolicyConfig: make copy of substituted table variablesv1.4.6
-rw-r--r-- | awall/policy.lua | 2 | ||||
-rw-r--r-- | awall/util.lua | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/awall/policy.lua b/awall/policy.lua index b71cf3a..169768b 100644 --- a/awall/policy.lua +++ b/awall/policy.lua @@ -48,7 +48,7 @@ function PolicyConfig:expand() local var = self.data.variable[name] if var == nil then raise('Invalid variable reference: '..name) end - if si == 1 and ei == value:len() then value = var + if si == 1 and ei == value:len() then value = util.copy(var) elseif contains({'number', 'string'}, type(var)) then value = value:sub(1, si - 1)..var..value:sub(ei + 1, -1) else diff --git a/awall/util.lua b/awall/util.lua index a43da4a..df6579a 100644 --- a/awall/util.lua +++ b/awall/util.lua @@ -85,7 +85,9 @@ function M.setdefault(t, k, v) return t[k] end -function M.copy(tbl) return M.update({}, tbl) end +function M.copy(var) + return type(var) == 'table' and M.update({}, var) or var +end function M.compare(a, b) local t = type(a) |