changeset 18598:c7a5cd17b045

re-escapes the entities that was unescaped by purple_markup_strip_html() Fixes #1269
author Ka-Hing Cheung <khc@hxbc.us>
date Sun, 22 Jul 2007 00:58:25 +0000
parents cf7297803a73
children 4efd240ffaa0 2f0bda21712f
files libpurple/protocols/oscar/oscar.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c	Sat Jul 21 05:53:05 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Sun Jul 22 00:58:25 2007 +0000
@@ -4328,10 +4328,15 @@
 			
 			tmp2 = purple_markup_strip_html(tmp1);
 			g_free(tmp1);
-			
-			tmp1 = purple_strdup_withhtml(tmp2);
+
+			/* re-escape the entities */
+			tmp1 = g_markup_escape_text(tmp2, -1);
 			g_free(tmp2);
 			
+			tmp2 = purple_strdup_withhtml(tmp1);
+			g_free(tmp1);
+			tmp1 = tmp2;
+
 			purple_plugin_oscar_convert_to_best_encoding(gc, name, tmp1, (char **)&args.msg, &args.msglen, &args.charset, &args.charsubset);
 
 			purple_debug_info("oscar", "Sending %s as %s because the original was too long.",