diff src/protocols/msn/httpconn.c @ 10533:ace8cd0de6ea

[gaim-migrate @ 11862] Some minor MSN reorganization from Felipe and a bunch of MSN chat related fixes and improvements from me. committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Thu, 20 Jan 2005 16:37:14 +0000
parents 1a97d5e88d12
children 052ef28a0695
line wrap: on
line diff
--- a/src/protocols/msn/httpconn.c	Thu Jan 20 14:40:56 2005 +0000
+++ b/src/protocols/msn/httpconn.c	Thu Jan 20 16:37:14 2005 +0000
@@ -283,7 +283,6 @@
 	{
 		gaim_debug_error("msn", "HTTP: Read error\n");
 		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_READ);
-		msn_httpconn_disconnect(httpconn);
 
 		return;
 	}
@@ -310,11 +309,15 @@
 	{
 		gaim_debug_error("msn", "HTTP: Special error\n");
 		msn_servconn_got_error(httpconn->servconn, MSN_SERVCONN_ERROR_READ);
-		msn_httpconn_disconnect(httpconn);
 
 		return;
 	}
 
+	if (httpconn->rx_buf != NULL)
+		g_free(httpconn->rx_buf);
+	httpconn->rx_buf = NULL;
+	httpconn->rx_len = 0;
+
 	if (result_len == 0)
 	{
 		/* Nothing to do here */
@@ -322,17 +325,11 @@
 		gaim_debug_info("msn", "HTTP: nothing to do here\n");
 #endif
 		g_free(result_msg);
-		g_free(httpconn->rx_buf);
-		httpconn->rx_buf = NULL;
-		httpconn->rx_len = 0;
 		return;
 	}
 
-	g_free(httpconn->rx_buf);
-	httpconn->rx_buf = NULL;
-	httpconn->rx_len = 0;
-
-	g_free(servconn->rx_buf);
+	if (servconn->rx_buf != NULL)
+		g_free(servconn->rx_buf);
 	servconn->rx_buf = result_msg;
 	servconn->rx_len = result_len;
 
@@ -702,8 +699,10 @@
 
 			servconn = httpconn->servconn;
 
-			if (servconn != NULL)
-				servconn->wasted = TRUE;
+			/* I'll be honest, I don't fully understand all this, but this
+			 * causes crashes, Stu. */
+			/* if (servconn != NULL)
+				servconn->wasted = TRUE; */
 
 			g_free(full_session_id);
 			g_free(session_id);