# HG changeset patch # User Paul Aurich # Date 1264310133 0 # Node ID 68bc7c617fa00697bd808f8940f9a0f627928491 # Parent d69df70937cc8e8ecc7dfe11d7bc5e5b4184a868 Fix a corner case where purple_markup_html_to_xhtml generated malformed XHTML. blah would turn into x. This is pretty bad, since that's what Adium passes to libpurple when the text had no markup, and is what causes XMPP messages sent in Adium to look like: .. diff -r d69df70937cc -r 68bc7c617fa0 libpurple/tests/test_util.c --- a/libpurple/tests/test_util.c Sun Jan 24 03:53:36 2010 +0000 +++ b/libpurple/tests/test_util.c Sun Jan 24 05:15:33 2010 +0000 @@ -113,6 +113,11 @@ purple_markup_html_to_xhtml("", &xhtml, &plaintext); assert_string_equal_free("", xhtml); assert_string_equal_free("", plaintext); + + + purple_markup_html_to_xhtml("x", &xhtml, &plaintext); + assert_string_equal_free("x", xhtml); + assert_string_equal_free("x", plaintext); } END_TEST diff -r d69df70937cc -r 68bc7c617fa0 libpurple/util.c --- a/libpurple/util.c Sun Jan 24 03:53:36 2010 +0000 +++ b/libpurple/util.c Sun Jan 24 05:15:33 2010 +0000 @@ -1519,7 +1519,7 @@ if(tag) { while(tags) { struct purple_parse_tag *pt = tags->data; - if(xhtml) + if(xhtml && !pt->ignore) g_string_append_printf(xhtml, "", pt->dest_tag); if(plain && purple_strequal(pt->src_tag, "a")) { /* if this is a link, we have to add the url to the plaintext, too */