diff options
Diffstat (limited to 'libs/uci/luasrc')
-rw-r--r-- | libs/uci/luasrc/model/uci.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/uci/luasrc/model/uci.lua b/libs/uci/luasrc/model/uci.lua index 82c76ced2..8da73fe61 100644 --- a/libs/uci/luasrc/model/uci.lua +++ b/libs/uci/luasrc/model/uci.lua @@ -69,7 +69,21 @@ end -- returns a boolean whether to delete the current section (optional) function Cursor.delete_all(self, config, type, comparator) local del = {} + + if type(comparator) == "table" then + local tbl = comparator + comparator = function(section) + for k, v in pairs(tbl) do + if not section[k] == v then + return false + end + end + return true + end + end + local function helper (section) + if not comparator or comparator(section) then table.insert(del, section[".name"]) end |