From: Vsevolod Stakhov Date: Mon, 7 Aug 2023 13:42:30 +0000 (+0100) Subject: [Fix] Fix merge table utility X-Git-Tag: 3.7.1~91 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b9fb73ce0ba993c9873cf0022be7bb68766c8d83;p=rspamd.git [Fix] Fix merge table utility --- 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