libs/core: use imatch() in firewall and network model
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 30 Oct 2010 17:56:06 +0000 (17:56 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 30 Oct 2010 17:56:06 +0000 (17:56 +0000)
libs/core/luasrc/model/firewall.lua
libs/core/luasrc/model/network.lua

index 1baa2ce..713fc57 100644 (file)
@@ -29,16 +29,6 @@ module "luci.model.firewall"
 
 local uci_r, uci_s
 
-function _strlist(x)
-       if x == nil then
-               x = ""
-       elseif type(x) == "table" then
-               x = table.concat(x, " ")
-       end
-
-       return x:gmatch("%S+")
-end
-
 function _valid_id(x)
        return (x and #x > 0 and x:match("^[a-zA-Z0-9_]+$"))
 end
@@ -130,7 +120,7 @@ function get_zone_by_network(self, net)
                function(s)
                        if s.name and net then
                                local n
-                               for n in _strlist(s.network or s.name) do
+                               for n in utl.imatch(s.network or s.name) do
                                        if n == net then
                                                z = s['.name']
                                                return false
@@ -338,7 +328,7 @@ function zone.add_network(self, net)
                local nets = { }
 
                local n
-               for n in _strlist(self:get("network") or self:get("name")) do
+               for n in utl.imatch(self:get("network") or self:get("name")) do
                        if n ~= net then
                                nets[#nets+1] = n
                        end
@@ -358,7 +348,7 @@ function zone.del_network(self, net)
        local nets = { }
 
        local n
-       for n in _strlist(self:get("network") or self:get("name")) do
+       for n in utl.imatch(self:get("network") or self:get("name")) do
                if n ~= net then
                        nets[#nets+1] = n
                end
@@ -375,7 +365,7 @@ function zone.get_networks(self)
        local nets = { }
 
        local n
-       for n in _strlist(self:get("network") or self:get("name")) do
+       for n in utl.imatch(self:get("network") or self:get("name")) do
                nets[#nets+1] = n
        end
 
index ed40dc2..bb98f82 100644 (file)
@@ -93,16 +93,6 @@ function _stror(s1, s2)
        end
 end
 
-function _strlist(x)
-       if x == nil then
-               x = ""
-       elseif type(x) == "table" then
-               x = table.concat(x, " ")
-       end
-
-       return x:gmatch("%S+")
-end
-
 function _get(c, s, o)
        return uci_r:get(c, s, o)
 end
@@ -619,7 +609,7 @@ function network.get_interfaces(self)
                ifaces = { interface(ifn) }
        else
                local nfs = { }
-               for ifn in _strlist(self:get("ifname")) do
+               for ifn in utl.imatch(self:get("ifname")) do
                        ifn = ifn:match("[^:]+")
                        nfs[ifn] = interface(ifn)
                end
@@ -661,7 +651,7 @@ function network.contains_interface(self, ifname)
                ifn = self:proto() .. "-" .. self.sid
                return ifname == ifn
        else
-               for ifn in _strlist(self:get("ifname")) do
+               for ifn in utl.imatch(self:get("ifname")) do
                        ifn = ifn:match("[^:]+")
                        if ifn == ifname then
                                return true