core/sessionmanager.lua

changeset 1225
1e01a913baf5
parent 1224
35fa588e43a6
child 1226
3b5f9dac2045
--- a/core/sessionmanager.lua	Fri May 29 23:14:57 2009 +0500
+++ b/core/sessionmanager.lua	Fri May 29 23:22:58 2009 +0500
@@ -65,23 +65,16 @@
 	end
 	
 	-- Remove session/resource from user's session list
-	if session.host and session.username then
-		-- FIXME: How can the below ever be nil? (but they sometimes are...)
-		if hosts[session.host] and hosts[session.host].sessions[session.username] then
-			if session.resource then
-				hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
-				full_sessions[session.full_jid] = nil;
-			end
-				
-			if not next(hosts[session.host].sessions[session.username].sessions) then
-				log("debug", "All resources of %s are now offline", session.username);
-				hosts[session.host].sessions[session.username] = nil;
-				bare_sessions[session.host..'@'..session.username] = nil;
-			end
-		else
-			log("error", "host or session table didn't exist, please report this! Host: %s [%s] Sessions: %s [%s]", 
-					tostring(hosts[session.host]), tostring(session.host),
-					tostring(hosts[session.host].sessions[session.username] ), tostring(session.username));
+	if session.full_jid then
+		if session.resource then
+			hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
+			full_sessions[session.full_jid] = nil;
+		end
+			
+		if not next(hosts[session.host].sessions[session.username].sessions) then
+			log("debug", "All resources of %s are now offline", session.username);
+			hosts[session.host].sessions[session.username] = nil;
+			bare_sessions[session.host..'@'..session.username] = nil;
 		end
 	end
 	

mercurial