From 97749578b09f4bb2e9c88d7be569e2c2b72bb881 Mon Sep 17 00:00:00 2001
From: hdastwb <hdastwb@hdastwb.heliohost.org>
Date: Tue, 13 Aug 2013 21:53:01 +0200
Subject: [PATCH] a small fix to not create "empty" stargate files for each player and to clean up such files that already exist

---
 stargate/stargate_gui.lua |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/stargate/stargate_gui.lua b/stargate/stargate_gui.lua
index f96d48a..ec9fda3 100644
--- a/stargate/stargate_gui.lua
+++ b/stargate/stargate_gui.lua
@@ -3,7 +3,13 @@
 stargate_network["players"]={}
 stargate.current_page={}
 
+local function table_empty(tab)
+	for key in pairs(tab) do return false end
+	return true
+end
+
 stargate.save_data = function(table_pointer)
+	if table_empty(stargate_network[table_pointer]) then return end
 	local data = minetest.serialize( stargate_network[table_pointer] )
 	local path = minetest.get_worldpath().."/stargate_"..table_pointer..".data"
 	local file = io.open( path, "w" )
@@ -22,6 +28,7 @@
 		local data = file:read("*all")
 		stargate_network[table_pointer] = minetest.deserialize( data )
 		file:close()
+		if table_empty(stargate_network[table_pointer]) then os.remove(path) end
 	return true
 	else return nil
 	end
@@ -31,7 +38,8 @@
 if stargate.restore_data("registered_players") ~= nil then
 	for __,tab in ipairs(stargate_network["registered_players"]) do
 		if stargate.restore_data(tab["player_name"]) == nil  then
-			print ("[stargate] Error loading data!")
+			--print ("[stargate] Error loading data!")
+			stargate_network[tab["player_name"]] = {}
 		end
 	end
 else

--
Gitblit v1.8.0