uci:get_list: always return a table, no matter what.

Previously, get_list("fake", "non-existent", "notreal") would still
return a table, just empty.  This is nice, as you can always iterate the
returned table, without having to check it first.

However, if you happened to pass a nil for any of the parameters, you
would actually get a nil in return.  This was inconsistent.

The documentation is updated to clarify the behaviour of this function.

Signed-off-by: Karl Palsson <karlp@remake.is>
pull/464/head
Karl Palsson 2015-09-02 15:18:13 +00:00
parent 879d9ff2b8
commit 03786ed853
2 changed files with 3 additions and 2 deletions

View File

@ -111,7 +111,7 @@ function Cursor.get_list(self, config, section, option)
local val = self:get(config, section, option)
return ( type(val) == "table" and val or { val } )
end
return nil
return {}
end
function Cursor.get_first(self, conf, stype, opt, def)

View File

@ -88,7 +88,8 @@ Get an option or list and return values as table.
@param config UCI config
@param section UCI section name
@param option UCI option
@return UCI value
@return table. If the option was not found, you will simply get
-- an empty table.
]]
---[[