# HG changeset patch # User Mark Doliner # Date 1229484837 0 # Node ID ced7ff727a9766c3b76e3144d93382eb6566ffe7 # Parent 9ca3ddf937f20aa7a1858f6ed8d485a9e345f883 Fix bugs sending and receiving myspace IMs related to not escaping HTML when displaying incoming messages and sending outgoing messages. For example, if we receive "test1 < test2" then the "test2" gets dropped. I really don't see why this is needed... I thought the data in xmlnodes was escaped. Whatever. diff -r 9ca3ddf937f2 -r ced7ff727a97 libpurple/protocols/myspace/markup.c --- a/libpurple/protocols/myspace/markup.c Wed Dec 17 03:03:36 2008 +0000 +++ b/libpurple/protocols/myspace/markup.c Wed Dec 17 03:33:57 2008 +0000 @@ -550,7 +550,7 @@ msim_convert_xmlnode(MsimSession *session, GString *out, xmlnode *root, MSIM_XMLNODE_CONVERT f, int nodes_processed) { xmlnode *node; - gchar *begin, *inner, *end; + gchar *begin, *inner, *end, *tmp; int descended = nodes_processed; if (!root || !root->name) @@ -584,7 +584,13 @@ case XMLNODE_TYPE_DATA: /* Literal text. */ - g_string_append_len(out, node->data, node->data_sz); + /* + * TODO: Why is it necessary to escape here? I thought + * node->data was already escaped? + */ + tmp = g_markup_escape_text(node->data, node->data_sz); + g_string_append(out, tmp); + g_free(tmp); break; default: