changeset 8503:4c3ec649fd7d

[gaim-migrate @ 9239] Another patch from marv. I think this is his hojillionth patch since 0.75 was released. They should just call him Tim Rockinbach. "unescape outgoing status msgs" ...so that < doesn't show up as &lt; to people committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 25 Mar 2004 06:51:51 +0000
parents 48112dfe1179
children 534b479692d0
files src/protocols/yahoo/yahoo.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/yahoo/yahoo.c	Thu Mar 25 06:44:52 2004 +0000
+++ b/src/protocols/yahoo/yahoo.c	Thu Mar 25 06:51:51 2004 +0000
@@ -2583,6 +2583,7 @@
 	int service;
 	char s[4];
 	char *conv_msg = NULL;
+	char *conv_msg2 = NULL;
 
 	if (gc->away) {
 		g_free(gc->away);
@@ -2640,7 +2641,8 @@
 
 	if ((yd->current_status == YAHOO_STATUS_CUSTOM) && gc->away) {
 		conv_msg = yahoo_string_encode(gc, gc->away, NULL);
-		yahoo_packet_hash(pkt, 19, conv_msg);
+		conv_msg2 = gaim_unescape_html(conv_msg);
+		yahoo_packet_hash(pkt, 19, conv_msg2);
 	}
 
 	if ((yd->current_status != YAHOO_STATUS_AVAILABLE) &&
@@ -2655,13 +2657,15 @@
 	yahoo_packet_free(pkt);
 	if (conv_msg)
 		g_free(conv_msg);
+	if (conv_msg2)
+		g_free(conv_msg2);
 }
 
 static void yahoo_set_idle(GaimConnection *gc, int idle)
 {
 	struct yahoo_data *yd = gc->proto_data;
 	struct yahoo_packet *pkt = NULL;
-	char *msg = NULL;
+	char *msg = NULL, *msg2 = NULL;
 
 	if (idle && yd->current_status == YAHOO_STATUS_AVAILABLE) {
 		pkt = yahoo_packet_new(YAHOO_SERVICE_ISAWAY, YAHOO_STATUS_AVAILABLE, 0);
@@ -2679,7 +2683,8 @@
 		yahoo_packet_hash(pkt, 10, buf);
 		if (gc->away && yd->current_status == YAHOO_STATUS_CUSTOM) {
 			msg = yahoo_string_encode(gc, gc->away, NULL);
-			yahoo_packet_hash(pkt, 19, msg);
+			msg2 = gaim_unescape_html(msg);
+			yahoo_packet_hash(pkt, 19, msg2);
 			if (idle)
 				yahoo_packet_hash(pkt, 47, "2");
 			else
@@ -2697,6 +2702,8 @@
 	}
 	if (msg)
 		g_free(msg);
+	if (msg2)
+		g_free(msg2);
 }
 
 static GList *yahoo_away_states(GaimConnection *gc)