Merge with trunk

Mon, 23 Nov 2009 16:30:34 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 23 Nov 2009 16:30:34 +0000
changeset 2153
08b643dc00df
parent 2148
871c847dcf77 (current diff)
parent 2152
85d8881b0a27 (diff)
child 2158
0ef04962e112
child 2160
bcc8f4bdb0e6

Merge with trunk

--- a/prosody	Mon Nov 23 16:09:44 2009 +0000
+++ b/prosody	Mon Nov 23 16:30:34 2009 +0000
@@ -14,7 +14,7 @@
 CFG_PLUGINDIR=os.getenv("PROSODY_PLUGINDIR");
 CFG_DATADIR=os.getenv("PROSODY_DATADIR");
 
--- -- -- -- -- -- -- ---- -- -- -- -- -- -- -- --
+-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 
 if CFG_SOURCEDIR then
 	package.path = CFG_SOURCEDIR.."/?.lua;"..package.path;
@@ -82,13 +82,13 @@
 end
 
 function load_libraries()
-	--- Initialize logging
+	-- Initialize logging
 	require "core.loggingmanager"
 	
-	--- Check runtime dependencies
+	-- Check runtime dependencies
 	require "util.dependencies"
 	
-	--- Load socket framework
+	-- Load socket framework
 	server = require "net.server"
 end	
 
--- a/util/serialization.lua	Mon Nov 23 16:09:44 2009 +0000
+++ b/util/serialization.lua	Mon Nov 23 16:30:34 2009 +0000
@@ -13,6 +13,7 @@
 local t_concat = table.concat;
 local error = error;
 local pairs = pairs;
+local next = next;
 
 local debug_traceback = debug.traceback;
 local log = require "util.logger".init("serialization");
@@ -34,21 +35,25 @@
 	elseif type(o) == "string" then
 		func(t, (("%q"):format(o):gsub("\\\n", "\\n")));
 	elseif type(o) == "table" then
-		func(t, "{\n");
-		for k,v in pairs(o) do
-			func(t, indent(ind));
-			func(t, "[");
-			func(t, basicSerialize(k));
-			func(t, "] = ");
-			if ind == 0 then
-				_simplesave(v, 0, t, func);
-			else
-				_simplesave(v, ind+1, t, func);
+		if next(o) then
+			func(t, "{\n");
+			for k,v in pairs(o) do
+				func(t, indent(ind));
+				func(t, "[");
+				func(t, basicSerialize(k));
+				func(t, "] = ");
+				if ind == 0 then
+					_simplesave(v, 0, t, func);
+				else
+					_simplesave(v, ind+1, t, func);
+				end
+				func(t, ";\n");
 			end
-			func(t, ",\n");
+			func(t, indent(ind-1));
+			func(t, "}");
+		else
+			func(t, "{}");
 		end
-		func(t, indent(ind-1));
-		func(t, "}");
 	elseif type(o) == "boolean" then
 		func(t, (o and "true" or "false"));
 	else

mercurial