src/protocols/msn/switchboard.c

changeset 10568
15f02c0e7fc1
parent 10533
4c2ad22fad20
child 10612
772856932f4e
--- 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);
 }

mercurial