summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-12-24 21:39:44 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-12-24 21:39:44 +0000
commit8ee6d915ee10fed7ad229cfd143d7b446cb18480 (patch)
treec43ef23ffdfb1c9a5d1f184775622782d2af4336 /libs
parent0f9f2a42a4b54e497090940d18a852c15b2a1b8a (diff)
libs/core: fix some issues in network model
Diffstat (limited to 'libs')
-rw-r--r--libs/core/luasrc/model/network.lua19
1 files changed, 14 insertions, 5 deletions
diff --git a/libs/core/luasrc/model/network.lua b/libs/core/luasrc/model/network.lua
index 18c84b624..17e074568 100644
--- a/libs/core/luasrc/model/network.lua
+++ b/libs/core/luasrc/model/network.lua
@@ -482,10 +482,11 @@ function network.ifname(self)
return p .. "-" .. self.sid
else
local num = { }
- local dev = self:_get("ifname") or
- uci_r:get("network", self.sid, "ifname")
+ local dev = uci_r:get("network", self.sid, "ifname") or
+ 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
uci_r:foreach("wireless", "wifi-iface",
@@ -507,10 +508,18 @@ function network.ifname(self)
end
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
- 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
+
return dev
end