# HG changeset patch # User Sadrul Habib Chowdhury # Date 1188802275 0 # Node ID 0a170af12723b9c1a9849524e175fb3859153217 # Parent dd4b1dc8a0cec316e243b1ee7152949e24eeeac9# Parent c3259b16107010c0dd332391a3abd533c8d816e7 merge of '0dbc6114de523821fc87cf7d1c44b30aa0e92713' and 'a1d362572ca941722a9db19c6886f7796b6d8d81' diff -r c3259b161070 -r 0a170af12723 Doxyfile.in diff -r c3259b161070 -r 0a170af12723 autogen.sh diff -r c3259b161070 -r 0a170af12723 doc/TracHeader.html diff -r c3259b161070 -r 0a170af12723 finch/finch.c diff -r c3259b161070 -r 0a170af12723 finch/libgnt/gntmenu.c diff -r c3259b161070 -r 0a170af12723 finch/libgnt/test/Makefile diff -r c3259b161070 -r 0a170af12723 finch/libgnt/test/file.c diff -r c3259b161070 -r 0a170af12723 finch/libgnt/test/menu.c diff -r c3259b161070 -r 0a170af12723 finch/libgnt/test/tv.c diff -r c3259b161070 -r 0a170af12723 libpurple/Makefile.am diff -r c3259b161070 -r 0a170af12723 libpurple/certificate.h diff -r c3259b161070 -r 0a170af12723 libpurple/conversation.h diff -r c3259b161070 -r 0a170af12723 libpurple/eventloop.c diff -r c3259b161070 -r 0a170af12723 libpurple/example/nullclient.c diff -r c3259b161070 -r 0a170af12723 libpurple/ft.c diff -r c3259b161070 -r 0a170af12723 libpurple/plugins/autoaccept.c diff -r c3259b161070 -r 0a170af12723 libpurple/plugins/dbus-example.c diff -r c3259b161070 -r 0a170af12723 libpurple/plugins/statenotify.c diff -r c3259b161070 -r 0a170af12723 libpurple/protocols/myspace/markup.c --- a/libpurple/protocols/myspace/markup.c Mon Sep 03 06:49:13 2007 +0000 +++ b/libpurple/protocols/myspace/markup.c Mon Sep 03 06:51:15 2007 +0000 @@ -669,6 +669,8 @@ /** High-level function to convert Purple (HTML) to MySpaceIM markup. * + * TODO: consider using purple_markup_html_to_xhtml() to make valid XML. + * * @return HTML markup string, must be g_free()'d. */ gchar * html_to_msim_markup(MsimSession *session, const gchar *raw) diff -r c3259b161070 -r 0a170af12723 libpurple/protocols/myspace/myspace.c --- a/libpurple/protocols/myspace/myspace.c Mon Sep 03 06:49:13 2007 +0000 +++ b/libpurple/protocols/myspace/myspace.c Mon Sep 03 06:51:15 2007 +0000 @@ -1066,9 +1066,12 @@ statstring = purple_status_get_attr_string(status, "message"); if (!statstring) { - statstring = g_strdup(""); + statstring = ""; } + /* Status strings are plain text. */ + statstring = purple_markup_strip_html(statstring); + msim_set_status_code(session, status_code, g_strdup(statstring)); } @@ -1713,7 +1716,7 @@ PurpleBuddyList *blist; MsimUser *user; GList *list; - gchar *status_headline; + gchar *status_headline, *status_headline_escaped; gint status_code, purple_status_code; gchar *username; @@ -1768,8 +1771,16 @@ purple_debug_info("msim", "msim_status: found buddy %s\n", username); } + /* The status headline is plaintext, but libpurple treats it as HTML, + * so escape any HTML characters to their entity equivalents. */ + status_headline_escaped = g_markup_escape_text(status_headline, strlen(status_headline)); + g_free(status_headline); + + if (user->headline) + g_free(user->headline); + /* don't copy; let the MsimUser own the headline, memory-wise */ - user->headline = status_headline; + user->headline = status_headline_escaped; /* Set user status */ switch (status_code) { diff -r c3259b161070 -r 0a170af12723 libpurple/proxy.c diff -r c3259b161070 -r 0a170af12723 libpurple/util.c diff -r c3259b161070 -r 0a170af12723 pidgin/gtkimhtml.c diff -r c3259b161070 -r 0a170af12723 pidgin/gtkmain.c diff -r c3259b161070 -r 0a170af12723 pidgin/gtkplugin.c diff -r c3259b161070 -r 0a170af12723 pidgin/plugins/perl/common/GtkDialogs.xs