diff options
-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) |