libs/web: allow zero-length string literals when parsing datatypes
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 8 Jan 2012 23:36:35 +0000 (23:36 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 8 Jan 2012 23:36:35 +0000 (23:36 +0000)
libs/web/luasrc/cbi.lua

index 88fb8a9..e885e4e 100644 (file)
@@ -180,8 +180,8 @@ function compile_datatype(code)
 
                                        if #label > 0 and tonumber(label) then
                                                stack[#stack+1] = tonumber(label)
 
                                        if #label > 0 and tonumber(label) then
                                                stack[#stack+1] = tonumber(label)
-                                       elseif label:match("^'.+'$") or label:match('^".+"$') then
-                                               stack[#stack+1] = label:gsub("[\"'](.+)[\"']", "%1")
+                                       elseif label:match("^'.*'$") or label:match('^".*"$') then
+                                               stack[#stack+1] = label:gsub("[\"'](.*)[\"']", "%1")
                                        elseif type(datatypes[label]) == "function" then
                                                stack[#stack+1] = datatypes[label]
                                                stack[#stack+1] = { }
                                        elseif type(datatypes[label]) == "function" then
                                                stack[#stack+1] = datatypes[label]
                                                stack[#stack+1] = { }