X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=libs%2Fcore%2Fluasrc%2Futil.lua;h=109ccab286067506dfda99114b2b604109037005;hp=6498a49766fc0697b67b7afa4817d13313bce658;hb=676966f78bbe4aa42f819b991586dca0bac8c554;hpb=8d9a130b70b532bff0ffd01b81481a040c25a53b;ds=sidebyside diff --git a/libs/core/luasrc/util.lua b/libs/core/luasrc/util.lua index 6498a4976..109ccab28 100644 --- a/libs/core/luasrc/util.lua +++ b/libs/core/luasrc/util.lua @@ -320,23 +320,30 @@ function parse_units(ustr) return val end ---- Combines two or more numerically indexed tables and single objects into one table. --- @param tbl1 Table value to combine --- @param tbl2 Table value to combine --- @param ... More tables to combine --- @return Table value containing all values of given tables -function combine(...) - local result = {} +--- Appends numerically indexed tables or single objects to a given table. +-- @param src Target table +-- @param ... Objects to insert +-- @return Target table +function append(src, ...) for i, a in ipairs({...}) do if type(a) == "table" then for j, v in ipairs(a) do - result[#result+1] = v + src[#src+1] = v end else - result[#result+1] = a + src[#src+1] = a end end - return result + return src +end + +--- Combines two or more numerically indexed tables and single objects into one table. +-- @param tbl1 Table value to combine +-- @param tbl2 Table value to combine +-- @param ... More tables to combine +-- @return Table value containing all values of given tables +function combine(...) + return append({}, ...) end --- Checks whether the given table contains the given value.