aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--advtrains/init.lua7
1 files changed, 4 insertions, 3 deletions
diff --git a/advtrains/init.lua b/advtrains/init.lua
index 3fc0de0..2bcfb0c 100644
--- a/advtrains/init.lua
+++ b/advtrains/init.lua
@@ -358,14 +358,15 @@ advtrains.avt_save = function(remove_players_from_wagons)
minetest.log("error", " Failed to serialize advtrains save data!")
return
end
- local file, err = io.open(advtrains.fpath, "w")
+ local temppath = advtrains.fpath.."~"
+ local file, err = io.open(temppath, "w")
if err then
- minetest.log("error", " Failed to write advtrains save data to file "..advtrains.fpath..": "..(err or "Unknown Error"))
+ minetest.log("error", " Failed to write advtrains save data to file "..temppath..": "..(err or "Unknown Error"))
return
end
file:write(datastr)
file:close()
-
+ os.rename(temppath, advtrains.fpath)
if DUMP_DEBUG_SAVE then
local file, err = io.open(advtrains.fpath.."_DUMP", "w")
if err then