diff src/protocols/jabber/jabber.c @ 4777:e23a7e166680

[gaim-migrate @ 5097] - a couple compile cleanups - status messages and tooltips won't crash gaim when people put up certain away messages - yahoo status messages will show the current "custom" message instead of the previous one committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Fri, 14 Mar 2003 22:49:32 +0000
parents 92ae181271e9
children 677d3cb193a1
line wrap: on
line diff
--- a/src/protocols/jabber/jabber.c	Fri Mar 14 17:41:41 2003 +0000
+++ b/src/protocols/jabber/jabber.c	Fri Mar 14 22:49:32 2003 +0000
@@ -3190,14 +3190,20 @@
 {
 	jab_res_info jri = jabber_find_resource(b->account->gc, b->name);
 	if(jri) {
-		char *text = strip_html(jabber_lookup_away(GC_GJ(b->account->gc),
+		char *stripped = strip_html(jabber_lookup_away(GC_GJ(b->account->gc),
 					b->name));
-		char *ret = g_strdup_printf(_("<b>Status:</b> %s%s%s"),
+		char *text = NULL;
+		char *ret;
+		if(stripped)
+			text = g_markup_escape_text(stripped, strlen(stripped));
+		ret = g_strdup_printf(_("<b>Status:</b> %s%s%s"),
 				jabber_get_state_string(jri->state), text ? ": " : "",
 				text ? text : "");
 
-		if(text)
+		if(stripped) {
+			g_free(stripped);
 			g_free(text);
+		}
 		return ret;
 	}
 	return NULL;
@@ -3206,13 +3212,16 @@
 static char *jabber_status_text(struct buddy *b)
 {
 	if (b->uc & UC_UNAVAILABLE) {
-		char *ret = strip_html(jabber_lookup_away(GC_GJ(b->account->gc),
+		char *stripped = strip_html(jabber_lookup_away(GC_GJ(b->account->gc),
 					b->name));
-		if(!ret) {
+		char *ret;
+		if(!stripped) {
 			jab_res_info jri = jabber_find_resource(b->account->gc, b->name);
 			if(jri)
-				ret = g_strdup(jabber_get_state_string(jri->state));
+				stripped = g_strdup(jabber_get_state_string(jri->state));
 		}
+		ret = g_markup_escape_text(stripped, strlen(stripped));
+		g_free(stripped);
 		return ret;
 	}
 	return NULL;