# HG changeset patch
# User unc0rr
# Date 1224613900 0
# Node ID 962001cfcf48cb917d1d7d635896cd16e583d271
# Parent  6d04732abed2c94eed2183b4a509921b3f8a31ec
If exception is on client quit, then just remove that client

diff -r 6d04732abed2 -r 962001cfcf48 netserver/hedgewars-server.hs
--- a/netserver/hedgewars-server.hs	Tue Oct 21 18:29:21 2008 +0000
+++ b/netserver/hedgewars-server.hs	Tue Oct 21 18:31:40 2008 +0000
@@ -47,12 +47,12 @@
 	unless (null recipients) $ putStrLn ("< " ++ (show answer))
 
 	clHandles' <- forM recipients $
-		\ch -> Control.Exception.handle (\e -> putStrLn ("handle exception: " ++ show e) >> return []) $ -- cannot just remove
+		\ch -> Control.Exception.handle (\e -> putStrLn ("handle exception: " ++ show e) >> if head answer == "BYE" then return [ch] else return []) $ -- cannot just remove
 			do
 			forM_ answer (\str -> hPutStrLn ch str)
 			hPutStrLn ch ""
 			hFlush ch
-			if (not $ null answer) && (head answer == "BYE") then hClose ch >> return [ch] else return []
+			if head answer == "BYE" then hClose ch >> return [ch] else return []
 
 	let mclients = remove clients $ concat clHandles'