Mercurial > pidgin.yaz
diff libpurple/protocols/silc/buddy.c @ 27076:1fcd09c34fee
Use purple_find_buddies() instead of iterating the buddy list.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 01 Jun 2009 04:02:10 +0000 |
parents | 16698063c352 |
children | f1437342cc0e |
line wrap: on
line diff
--- a/libpurple/protocols/silc/buddy.c Mon Jun 01 03:34:02 2009 +0000 +++ b/libpurple/protocols/silc/buddy.c Mon Jun 01 04:02:10 2009 +0000 @@ -1407,35 +1407,16 @@ void silcpurple_send_buddylist(PurpleConnection *gc) { - PurpleBlistNode *gnode, *cnode, *bnode; - PurpleBuddy *buddy; + GSList *buddies; PurpleAccount *account; account = purple_connection_get_account(gc); - for (gnode = purple_blist_get_root(); - gnode != NULL; - gnode = purple_blist_node_get_sibling_next(gnode)) + for (buddies = purple_find_buddies(account, NULL); buddies; + buddies = g_slist_delete_link(buddies, buddies)) { - if (!PURPLE_BLIST_NODE_IS_GROUP(gnode)) - continue; - for (cnode = purple_blist_node_get_first_child(gnode); - cnode != NULL; - cnode = purple_blist_node_get_sibling_next(cnode)) - { - if (!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) - continue; - for (bnode = purple_blist_node_get_first_child(cnode); - bnode != NULL; - bnode = purple_blist_node_get_sibling_next(bnode)) - { - if (!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) - continue; - buddy = (PurpleBuddy *)bnode; - if (purple_buddy_get_account(buddy) == account) - silcpurple_add_buddy_i(gc, buddy, TRUE); - } - } + PurpleBuddy *buddy = buddies->data; + silcpurple_add_buddy_i(gc, buddy, TRUE); } }