Unescape our own status messages before sending them to the server so other clients show them correctly. Thanks to Simom for the patch. Fixes #738 cpw.khc.msnp14

Tue, 17 Jul 2007 19:12:12 +0000

author
Carlos Silva <typ0@pidgin.im>
date
Tue, 17 Jul 2007 19:12:12 +0000
branch
cpw.khc.msnp14
changeset 20551
7a90042445cd
parent 20550
af5abde0d99f
child 20554
e965b30fa166

Unescape our own status messages before sending them to the server so other clients show them correctly. Thanks to Simom for the patch. Fixes #738

libpurple/protocols/msn/state.c file | annotate | diff | comparison | revisions
--- a/libpurple/protocols/msn/state.c	Tue Jul 17 00:35:50 2007 +0000
+++ b/libpurple/protocols/msn/state.c	Tue Jul 17 19:12:12 2007 +0000
@@ -219,6 +219,7 @@
 	MsnTransaction *trans;
 	char *payload;
 	const char *statusline;
+	gchar *unescapedstatusline;
 
 	g_return_if_fail(session != NULL);
 	g_return_if_fail(session->notification != NULL);
@@ -232,10 +233,12 @@
 	presence = purple_account_get_presence(account);
 	status = purple_presence_get_active_status(presence);
 	statusline = purple_status_get_attr_string(status, "message");
-	session->psm = msn_build_psm(statusline, NULL, NULL);
+	unescapedstatusline = purple_unescape_html(statusline);
+	session->psm = msn_build_psm(unescapedstatusline, NULL, NULL);
+	g_free(unescapedstatusline);
 	payload = session->psm;
 
-	purple_debug_info("MSNP14","UUX{%s}\n",payload);
+	purple_debug_misc("MSNP14","Sending UUX command with payload: %s\n",payload);
 	trans = msn_transaction_new(cmdproc, "UUX","%d",strlen(payload));
 	msn_transaction_set_payload(trans, payload, strlen(payload));
 	msn_cmdproc_send_trans(cmdproc, trans);

mercurial