comparison libpurple/protocols/oscar/oscar.c @ 29058:7e4117c5372a

oscar: Fix '<' in AIM/ICQ status messages. Closes #10304. This is sadrul's patch, which I also tested as working. It even seems to work when using a rich-text status message (from AIM 7.0) and viewing in Finch (I can't have Pidgin and AIM 7 available concurrently).
author Paul Aurich <paul@darkrain42.org>
date Sun, 29 Nov 2009 19:32:36 +0000
parents c06e1f777e42
children 5c77b620375c f8da53e381dd
comparison
equal deleted inserted replaced
29057:8d213c65abad 29058:7e4117c5372a
894 894
895 is_away = ((status && !purple_status_is_available(status)) || 895 is_away = ((status && !purple_status_is_available(status)) ||
896 (userinfo && (userinfo->flags & AIM_FLAG_AWAY))); 896 (userinfo && (userinfo->flags & AIM_FLAG_AWAY)));
897 897
898 if (strip_html_tags) { 898 if (strip_html_tags) {
899 /* Away messges are HTML, but available messages were originally plain text. 899 /* Away messages are HTML, but available messages were originally plain text.
900 * We therefore need to strip away messages but not available messages if we're asked to remove HTML tags. 900 * We therefore need to strip away messages but not available messages if we're asked to remove HTML tags.
901 */ 901 */
902 if (is_away && message) { 902 /*
903 * It seems like the above comment no longer applies. All messages need
904 * to be escaped.
905 */
906 if (message) {
903 gchar *tmp2; 907 gchar *tmp2;
904 tmp = purple_markup_strip_html(message); 908 tmp = purple_markup_strip_html(message);
905 g_free(message); 909 g_free(message);
906 tmp2 = g_markup_escape_text(tmp, -1); 910 tmp2 = g_markup_escape_text(tmp, -1);
907 g_free(tmp); 911 g_free(tmp);
916 message = tmp; 920 message = tmp;
917 } 921 }
918 } 922 }
919 g_free(itmsurl); 923 g_free(itmsurl);
920 924
921 if (is_away && message) { 925 if (message) {
922 tmp = purple_str_sub_away_formatters(message, purple_account_get_username(account)); 926 tmp = purple_str_sub_away_formatters(message, purple_account_get_username(account));
923 g_free(message); 927 g_free(message);
924 message = tmp; 928 message = tmp;
925 } 929 }
926 930