aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlockhead <jbis1337@hotmail.com>2024-06-05 04:09:04 +1000
committerorwell <orwell@bleipb.de>2024-08-01 22:02:50 +0200
commit7c4f1377e452134ab9e4addd0f01360dfa72564a (patch)
tree7333b4e60d11c3f82ac14d3208527948429835ad
parenta820318ecf209b53f6afd430e6ffb35e91631a4a (diff)
downloadadvtrains-7c4f1377e452134ab9e4addd0f01360dfa72564a.tar.gz
advtrains-7c4f1377e452134ab9e4addd0f01360dfa72564a.tar.bz2
advtrains-7c4f1377e452134ab9e4addd0f01360dfa72564a.zip
Fix section_occupancy: Return empty table
Fixes the functioning of the LuaATC function section_occupancy in the presence of no trains. Currently, if there is no train in the section, advtrains.interlocking.db.get_ts will return a table with a nil entry. When that nil value is passed to table.copy, Minetest throws out an error. Instead of passing nil to table.copy, just make a new empty table.
-rw-r--r--advtrains_luaautomation/environment.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/advtrains_luaautomation/environment.lua b/advtrains_luaautomation/environment.lua
index 6df5248..761e227 100644
--- a/advtrains_luaautomation/environment.lua
+++ b/advtrains_luaautomation/environment.lua
@@ -233,7 +233,7 @@ if advtrains.interlocking then
ts_id = tostring(ts_id)
local response = advtrains.interlocking.db.get_ts(ts_id)
if not response then return false end
- return table.copy(response.trains)
+ return (response.trains and table.copy(response.trains)) or {}
end
end