summaryrefslogtreecommitdiff
path: root/builtin/common/misc_helpers.lua
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2015-02-12 22:03:24 +0100
committerCraig Robbins <kde.psych@gmail.com>2015-02-14 15:18:11 +1000
commit7c5accf60501e0ff7fd8f44af963b71da9ac8045 (patch)
treef1b74bd89ac05c2c542b11e21ee0ef42eff2c2ea /builtin/common/misc_helpers.lua
parentd44cb547f288315628c490a2e0cb7d5e44eff976 (diff)
downloadminetest-7c5accf60501e0ff7fd8f44af963b71da9ac8045.tar.gz
minetest-7c5accf60501e0ff7fd8f44af963b71da9ac8045.tar.bz2
minetest-7c5accf60501e0ff7fd8f44af963b71da9ac8045.zip
Fix crash on passing false as value in table to table.copy(t)
Fixes #2293.
Diffstat (limited to 'builtin/common/misc_helpers.lua')
-rw-r--r--builtin/common/misc_helpers.lua5
1 files changed, 2 insertions, 3 deletions
diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index deeba788e..d9ebc39c3 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -545,12 +545,11 @@ function table.copy(t, seen)
seen = seen or {}
seen[t] = n
for k, v in pairs(t) do
- n[type(k) ~= "table" and k or seen[k] or table.copy(k, seen)] =
- type(v) ~= "table" and v or seen[v] or table.copy(v, seen)
+ n[(type(k) == "table" and (seen[k] or table.copy(k, seen))) or k] =
+ (type(v) == "table" and (seen[v] or table.copy(v, seen))) or v
end
return n
end
-
--------------------------------------------------------------------------------
-- mainmenu only functions
--------------------------------------------------------------------------------