diff src/protocols/msn/switchboard.c @ 10568:fed2a7c2471d

[gaim-migrate @ 11954] Some MSN bits: - Fix HTTP Method works when using an HTTP proxy that require authentication (Bastien Durel) - Better error reporting when the MSN servers are temporarily unavailable - Prevent zombie failed switchboard connections swallowing up messages - Fix win32 crashes receiving messages from aMSN with no formatting info - Fix a crash when the connection to the nexus server fails - maybe some other stuff, I forgot how much had piled up committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Thu, 03 Feb 2005 19:47:52 +0000
parents ace8cd0de6ea
children f0fd35985cb0
line wrap: on
line diff
--- a/src/protocols/msn/switchboard.c	Thu Feb 03 15:37:13 2005 +0000
+++ b/src/protocols/msn/switchboard.c	Thu Feb 03 19:47:52 2005 +0000
@@ -412,7 +412,8 @@
 
 		format = msn_message_get_attr(msg, "X-MMS-IM-Format");
 		msn_parse_format(format, &pre, &post);
-		body_str = g_strdup_printf("%s%s%s", pre, body_enc, post);
+		body_str = g_strdup_printf("%s%s%s", pre ? pre : "",
+								   body_enc ? body_enc : "", post ? post : "");
 		g_free(body_enc);
 		g_free(pre);
 		g_free(post);
@@ -830,14 +831,15 @@
 
 	if ((value = msn_message_get_attr(msg, "X-MMS-IM-Format")) != NULL)
 	{
-		char *pre_format, *post_format;
+		char *pre, *post;
 
-		msn_parse_format(value, &pre_format, &post_format);
+		msn_parse_format(value, &pre, &post);
 
-		body_final = g_strdup_printf("%s%s%s", pre_format, body_enc, post_format);
+		body_final = g_strdup_printf("%s%s%s", pre ? pre : "",
+									 body_enc ? body_enc : "", post ? post : "");
 
-		g_free(pre_format);
-		g_free(post_format);
+		g_free(pre);
+		g_free(post);
 		g_free(body_enc);
 	}
 	else
@@ -1055,7 +1057,8 @@
 
 	msn_parse_socket(cmd->params[2], &host, &port);
 
-	msn_switchboard_connect(swboard, host, port);
+	if (!msn_switchboard_connect(swboard, host, port))
+		msn_switchboard_destroy(swboard);
 
 	g_free(host);
 }