projects
/
project
/
luci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1e50668
)
libs/core: adapt luci.model.network for wifi-iface instances which are members of...
author
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 15 Sep 2012 13:10:27 +0000
(13:10 +0000)
committer
Jo-Philipp Wich
<jow@openwrt.org>
Sat, 15 Sep 2012 13:10:27 +0000
(13:10 +0000)
libs/core/luasrc/model/network.lua
patch
|
blob
|
history
diff --git
a/libs/core/luasrc/model/network.lua
b/libs/core/luasrc/model/network.lua
index
c2c2e66
..
37b7923
100644
(file)
--- a/
libs/core/luasrc/model/network.lua
+++ b/
libs/core/luasrc/model/network.lua
@@
-384,7
+384,17
@@
function del_network(self, n)
_uci_real:foreach("wireless", "wifi-iface",
function(s)
_uci_real:foreach("wireless", "wifi-iface",
function(s)
- if s.network == n then
+ local net
+ local rest = { }
+ for net in utl.imatch(s.network) do
+ if net ~= n then
+ rest[#rest+1] = net
+ end
+ end
+ if #rest > 0 then
+ _uci_real:set("wireless", s['.name'], "network",
+ table.concat(rest, " "))
+ else
_uci_real:delete("wireless", s['.name'], "network")
end
end)
_uci_real:delete("wireless", s['.name'], "network")
end
end)
@@
-421,8
+431,18
@@
function rename_network(self, old, new)
_uci_real:foreach("wireless", "wifi-iface",
function(s)
_uci_real:foreach("wireless", "wifi-iface",
function(s)
- if s.network == old then
- _uci_real:set("wireless", s['.name'], "network", new)
+ local net
+ local list = { }
+ for net in utl.imatch(s.network) do
+ if net == old then
+ list[#list+1] = new
+ else
+ list[#list+1] = net
+ end
+ end
+ if #list > 0 then
+ _uci_real:set("wireless", s['.name'], "network",
+ table.concat(list, " "))
end
end)
end
end)
@@
-678,9
+698,12
@@
function protocol.ifname(self)
num[s.device] = num[s.device]
and num[s.device] + 1 or 1
num[s.device] = num[s.device]
and num[s.device] + 1 or 1
- if s.network == self.sid then
- ifname = "%s.network%d" %{ s.device, num[s.device] }
- return false
+ local net
+ for net in utl.imatch(s.network) do
+ if net == self.sid then
+ ifname = "%s.network%d" %{ s.device, num[s.device] }
+ return false
+ end
end
end
end)
end
end
end)
@@
-879,9
+902,13
@@
function protocol.get_interface(self)
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
- if s.network == self.sid then
- ifn = "%s.network%d" %{ s.device, num[s.device] }
- return false
+
+ local net
+ for net in utl.imatch(s.network) do
+ if net == self.sid then
+ ifn = "%s.network%d" %{ s.device, num[s.device] }
+ return false
+ end
end
end
end)
end
end
end)
@@
-910,9
+937,13
@@
function protocol.get_interfaces(self)
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
function(s)
if s.device then
num[s.device] = num[s.device] and num[s.device] + 1 or 1
- if s.network == self.sid then
- ifn = "%s.network%d" %{ s.device, num[s.device] }
- wfs[ifn] = interface(ifn, self)
+
+ local net
+ for net in utl.imatch(s.network) do
+ if net == self.sid then
+ ifn = "%s.network%d" %{ s.device, num[s.device] }
+ wfs[ifn] = interface(ifn, self)
+ end
end
end
end)
end
end
end)