Mercurial > pidgin
comparison libpurple/protocols/oscar/oscar.c @ 28677: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 | f8da53e381dd |
comparison
equal
deleted
inserted
replaced
28676:8d213c65abad | 28677: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 |