* luci/libs/uvl:
[project/luci.git] / libs / uvl / luasrc / uvl / datatypes.lua
index 586e3f8..60377e2 100644 (file)
@@ -22,9 +22,18 @@ require("luci.util")
 
 
 function boolean( val )
-       if val == "1" or val == "yes" or val == "on" then
+       if val == "1" or val == "yes" or val == "on" or val == "true" then
                return true
-       elseif val == "0" or val == "no" or val == "off" then
+       elseif val == "0" or val == "no" or val == "off" or val == "false" then
+               return true
+       end
+
+       return false
+end
+
+function uint( val )
+       local n = tonumber(val)
+       if n ~= nil and math.floor(n) == n and n >= 0 then
                return true
        end
 
@@ -44,6 +53,10 @@ function float( val )
        return ( tonumber(val) ~= nil )
 end
 
+function ipaddr( val )
+       return ip4addr(val) or ip6addr(val)
+end
+
 function ip4addr( val )
        if val then
                return luci.ip.IPv4(val) and true or false
@@ -98,6 +111,10 @@ function hostname( val )
        return false
 end
 
+function host( val )
+       return hostname(val) or ipaddr(val)
+end
+
 function string( val )
        return true             -- Everything qualifies as valid string
 end