diff options
-rw-r--r-- | lualib/lua_util.lua | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lualib/lua_util.lua b/lualib/lua_util.lua index a68da0d59..6964b0f00 100644 --- a/lualib/lua_util.lua +++ b/lualib/lua_util.lua @@ -627,10 +627,23 @@ exports.table_cmp = table_cmp -- Merge two tables --]] local function table_merge(t1, t2) + local res = {} + local nidx = 1 -- for numeric indicies + local it_func = function(k, v) + if type(k) == 'number' then + res[nidx] = v + nidx = nidx + 1 + else + res[k] = v + end + end + for k, v in pairs(t1) do + it_func(k, v) + end for k, v in pairs(t2) do - t1[k] = v + it_func(k, v) end - return t1 + return res end exports.table_merge = table_merge |