summaryrefslogtreecommitdiffhomepage
path: root/libs/cbi/luasrc/cbi.lua
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-09-07 23:50:58 +0000
committerSteven Barth <steven@midlink.org>2008-09-07 23:50:58 +0000
commit19c79a30b91354932b12ffb9f866471b06a570df (patch)
tree52a58805cf101d318f4cfa8afdde264b4cf75ca1 /libs/cbi/luasrc/cbi.lua
parent554286bdc686b30ef70fedaa3765c920cfd27836 (diff)
Fixed DHCP-Options and some CBI stuff
Diffstat (limited to 'libs/cbi/luasrc/cbi.lua')
-rw-r--r--libs/cbi/luasrc/cbi.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index 30727cef2..df7f29252 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -933,7 +933,7 @@ function AbstractValue.parse(self, section)
local fvalue = self:formvalue(section)
local cvalue = self:cfgvalue(section)
- if fvalue and fvalue ~= "" then -- If we have a form value, write it to UCI
+ if fvalue and #fvalue > 0 then -- If we have a form value, write it to UCI
fvalue = self:transform(self:validate(fvalue, section))
if not fvalue then
self.tag_invalid[section] = true
@@ -983,7 +983,9 @@ end
-- Return the UCI value of this object
function AbstractValue.cfgvalue(self, section)
local value = self.map:get(section, self.option)
- if not self.cast or self.cast == type(value) then
+ if not value then
+ return nil
+ elseif not self.cast or self.cast == type(value) then
return value
elseif self.cast == "string" then
if type(value) == "table" then
@@ -1251,7 +1253,8 @@ function DynamicList.value(self, key, val)
table.insert(self.vallist, tostring(val))
end
-function DynamicList.validate(self, value, section)
+function DynamicList.formvalue(self, section)
+ local value = AbstractValue.formvalue(self, section)
value = (type(value) == "table") and value or {value}
local valid = {}