diff options
author | est31 <MTest31@outlook.com> | 2015-02-12 22:03:24 +0100 |
---|---|---|
committer | Craig Robbins <kde.psych@gmail.com> | 2015-02-14 15:18:11 +1000 |
commit | 7c5accf60501e0ff7fd8f44af963b71da9ac8045 (patch) | |
tree | f1b74bd89ac05c2c542b11e21ee0ef42eff2c2ea | |
parent | d44cb547f288315628c490a2e0cb7d5e44eff976 (diff) | |
download | minetest-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.
-rw-r--r-- | builtin/common/misc_helpers.lua | 5 |
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 -------------------------------------------------------------------------------- |