Mercurial > pidgin.yaz
diff libpurple/server.c @ 27937:1337d2813b2d
propagate from branch 'im.pidgin.pidgin' (head 5ab68ddb0251205f7ef97f4c280e65696cbd5ff2)
to branch 'im.pidgin.pidgin.yaz' (head 7a5d48783707dd377fd754961d3b009c3e492827)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 07 Apr 2009 14:32:50 +0000 |
parents | fb44acfae441 4033fea1709c |
children | 684690dbda4a |
line wrap: on
line diff
--- a/libpurple/server.c Tue Apr 07 05:28:58 2009 +0000 +++ b/libpurple/server.c Tue Apr 07 14:32:50 2009 +0000 @@ -241,6 +241,8 @@ GSList *buddies; PurpleBuddy *b; PurpleConversation *conv; + gsize dummy; + gchar *alias2 = NULL; account = purple_connection_get_account(gc); buddies = purple_find_buddies(account, who); @@ -257,13 +259,16 @@ if (purple_strequal(server_alias, alias)) continue; - purple_blist_server_alias_buddy(b, alias); + if(alias) + alias2 = sanitize_utf(alias, strlen(alias), &dummy); + + purple_blist_server_alias_buddy(b, alias2); conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, purple_buddy_get_name(b), account); - if (conv != NULL && alias != NULL && purple_strequal(alias, who)) + if (conv != NULL && alias2 != NULL && !purple_strequal(alias2, who)) { char *escaped = g_markup_escape_text(who, -1); - char *escaped2 = g_markup_escape_text(alias, -1); + char *escaped2 = g_markup_escape_text(alias2, -1); char *tmp = g_strdup_printf(_("%s is now known as %s.\n"), escaped, escaped2); @@ -275,6 +280,8 @@ g_free(escaped2); g_free(escaped); } + g_free(alias2); + alias2 = NULL; } } @@ -284,6 +291,8 @@ PurpleAccount *account = NULL; GSList *buddies = NULL; PurpleBuddy *b = NULL; + gsize dummy; + gchar *alias2 = NULL; account = purple_connection_get_account(gc); buddies = purple_find_buddies(account, who); @@ -298,11 +307,13 @@ if (purple_strequal(balias, alias)) continue; - purple_blist_alias_buddy(b, alias); + alias2 = sanitize_utf(alias, strlen(alias), &dummy); + purple_blist_alias_buddy(b, alias2); + g_free(alias2); + alias2 = NULL; } } - PurpleAttentionType *purple_get_attention_type_from_code(PurpleAccount *account, guint type_code) { PurplePlugin *prpl;