diff options
author | John Bailey <rekkanoryo@rekkanoryo.org> | 2007-11-09 18:06:54 +0000 |
---|---|---|
committer | John Bailey <rekkanoryo@rekkanoryo.org> | 2007-11-09 18:06:54 +0000 |
commit | 271470575aa5398758bd1932dc1e27f20850b48b (patch) | |
tree | eee66bdbc4791b2459ec209a075038b47d3f5a5a | |
parent | 0639f18fbd0d29a1fc55c19cdc3036589c77beee (diff) | |
download | pidgin-release-2.2.3.tar.gz |
applied changes from 75816a5c9fd2a269fff7d9de414833088ef32cdarelease-2.2.3
through bd554241acb7ec65bf15c42bef90dc7e10b9689f
-rw-r--r-- | libpurple/util.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libpurple/util.c b/libpurple/util.c index 39d3da7c39..55c72063fd 100644 --- a/libpurple/util.c +++ b/libpurple/util.c @@ -1369,7 +1369,9 @@ purple_markup_html_to_xhtml(const char *html, char **xhtml_out, g_string_append_printf(xhtml, "</%s>", pt->dest_tag); if(plain && !strcmp(pt->src_tag, "a")) { /* if this is a link, we have to add the url to the plaintext, too */ - if (cdata && url && !g_string_equal(cdata, url)) + if (cdata && url && + (!g_string_equal(cdata, url) && (g_ascii_strncasecmp(url->str, "mailto:", 7) != 0 || + g_utf8_collate(url->str + 7, cdata->str) != 0))) g_string_append_printf(plain, " <%s>", g_strstrip(url->str)); if (cdata) { g_string_free(cdata, TRUE); @@ -1729,6 +1731,8 @@ purple_markup_html_to_xhtml(const char *html, char **xhtml_out, xhtml = g_string_append_len(xhtml, c, len); if(plain) plain = g_string_append(plain, pln); + if(cdata) + cdata = g_string_append_len(cdata, c, len); c += len; } else { if(xhtml) @@ -1754,6 +1758,8 @@ purple_markup_html_to_xhtml(const char *html, char **xhtml_out, *plain_out = g_string_free(plain, FALSE); if(url) g_string_free(url, TRUE); + if (cdata) + g_string_free(cdata, TRUE); } /* The following are probably reasonable changes: |