summaryrefslogtreecommitdiffhomepage
path: root/libs/web
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-12-03 12:41:12 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-12-03 12:41:12 +0000
commit2a0903bc5018fe17fab8abaac6d24acfa382c869 (patch)
tree0d9bb780f5579549fbf9f74db06747bb7de38d7b /libs/web
parent02ad68a4062b336c962513d3e75aeca7a5348dbb (diff)
libs/web: fix dynamic list handling
Diffstat (limited to 'libs/web')
-rw-r--r--libs/web/luasrc/cbi.lua21
1 files changed, 10 insertions, 11 deletions
diff --git a/libs/web/luasrc/cbi.lua b/libs/web/luasrc/cbi.lua
index ce995803d3..6934be6908 100644
--- a/libs/web/luasrc/cbi.lua
+++ b/libs/web/luasrc/cbi.lua
@@ -1346,7 +1346,7 @@ function AbstractValue.cfgvalue(self, section)
return value[1]
end
elseif self.cast == "table" then
- return luci.util.split(value, "%s+", nil, true)
+ return { value }
end
end
@@ -1660,11 +1660,6 @@ function DynamicList.write(self, section, value)
t[#t+1] = x
end
end
- elseif self.cast == "table" then
- local x
- for x in util.imatch(value) do
- t[#t+1] = x
- end
else
t = { value }
end
@@ -1699,12 +1694,16 @@ function DynamicList.formvalue(self, section)
local value = AbstractValue.formvalue(self, section)
if type(value) == "string" then
- local x
- local t = { }
- for x in value:gmatch("%S+") do
- t[#t+1] = x
+ if self.cast == "string" then
+ local x
+ local t = { }
+ for x in value:gmatch("%S+") do
+ t[#t+1] = x
+ end
+ value = t
+ else
+ value = { value }
end
- value = t
end
return value