From: Nathan W. <fac...@us...> - 2003-03-14 22:49:35
|
Update of /cvsroot/gaim/gaim/src/protocols/jabber In directory sc8-pr-cvs1:/tmp/cvs-serv7846/src/protocols/jabber Modified Files: jabber.c Log Message: - 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 Index: jabber.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/jabber/jabber.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -d -r1.112 -r1.113 --- jabber.c 14 Mar 2003 17:05:58 -0000 1.112 +++ jabber.c 14 Mar 2003 22:49:31 -0000 1.113 @@ -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; |