libs/core: fix some issues in network model

This commit is contained in:
Jo-Philipp Wich 2010-12-24 21:39:44 +00:00
parent 0f9f2a42a4
commit 8ee6d915ee
1 changed files with 14 additions and 5 deletions

View File

@ -482,10 +482,11 @@ function network.ifname(self)
return p .. "-" .. self.sid return p .. "-" .. self.sid
else else
local num = { } local num = { }
local dev = self:_get("ifname") or local dev = uci_r:get("network", self.sid, "ifname") or
uci_r:get("network", self.sid, "ifname") uci_s:get("network", self.sid, "ifname")
dev = dev and dev:match("%S+") dev = (type(dev) == "table") and dev[1] or dev
dev = (dev ~= nil) and dev:match("%S+")
if not dev then if not dev then
uci_r:foreach("wireless", "wifi-iface", uci_r:foreach("wireless", "wifi-iface",
@ -507,10 +508,18 @@ function network.ifname(self)
end end
function network.device(self) function network.device(self)
local dev = self:_get("device") local dev = uci_r:get("network", self.sid, "device") or
uci_s:get("network", self.sid, "device")
dev = (type(dev) == "table") and dev[1] or dev
if not dev or dev:match("[^%w%-%.%s]") then if not dev or dev:match("[^%w%-%.%s]") then
dev = uci_r:get("network", self.sid, "ifname") dev = uci_r:get("network", self.sid, "ifname") or
uci_s:get("network", self.sid, "ifname")
dev = (type(dev) == "table") and dev[1] or dev
end end
return dev return dev
end end