diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-07-13 06:59:20 +0000 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2012-07-13 06:59:20 +0000 |
commit | 8d83347b3feb6695682b799142d77963e9f55b74 (patch) | |
tree | a62aa8c17ade847604ac7e0f675d7698c13d0f3e /awall | |
parent | d2e2fdf0180a37cba5bf9667c57f309320f04f86 (diff) | |
download | awall-8d83347b3feb6695682b799142d77963e9f55b74.tar.bz2 awall-8d83347b3feb6695682b799142d77963e9f55b74.tar.xz |
util.filter method for filtering lists
Diffstat (limited to 'awall')
-rw-r--r-- | awall/model.lua | 12 | ||||
-rw-r--r-- | awall/util.lua | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/awall/model.lua b/awall/model.lua index b902787..cfe29cd 100644 --- a/awall/model.lua +++ b/awall/model.lua @@ -265,13 +265,11 @@ function Rule:trules() local function ffilter(ofrags) if not ofrags or not ofrags[1] or not families then return ofrags end - local res = {} - for i, ofrag in util.listpairs(ofrags) do - if not ofrag.family or util.contains(families, ofrag.family) then - table.insert(res, ofrag) - end - end - return res + return util.filter(ofrags, + function(of) + return not of.family or util.contains(families, + of.family) + end) end local function appendtarget(ofrag, target) diff --git a/awall/util.lua b/awall/util.lua index 55be6bd..8963a5c 100644 --- a/awall/util.lua +++ b/awall/util.lua @@ -18,6 +18,12 @@ function listpairs(var) return ipairs(list(var)) end +function filter(var, func) + local res = {} + for i, v in ipairs(var) do if func(v) then table.insert(res, v) end end + return res +end + function map(var, func) local res = {} for k, v in pairs(var) do res[k] = func(v) end |