Mercurial > pidgin.yaz
diff libpurple/blist.c @ 26620:2b7604ede0e4
Change purple_blist_get_buddies to return a list instead of the hash table.
Closes #8644.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 11 Apr 2009 17:41:10 +0000 |
parents | 9a2e4aebfa91 |
children | d68b338d9eed |
line wrap: on
line diff
--- a/libpurple/blist.c Sat Apr 11 02:55:46 2009 +0000 +++ b/libpurple/blist.c Sat Apr 11 17:41:10 2009 +0000 @@ -699,10 +699,23 @@ return purplebuddylist ? purplebuddylist->root : NULL; } -GHashTable * +static void +append_buddy(gpointer key, gpointer value, gpointer user_data) +{ + GSList **list = user_data; + *list = g_slist_prepend(*list, value); +} + +GSList * purple_blist_get_buddies() { - return purplebuddylist ? purplebuddylist->buddies : NULL; + GSList *buddies = NULL; + + if (!purplebuddylist) + return NULL; + + g_hash_table_foreach(purplebuddylist->buddies, append_buddy, &buddies); + return buddies; } void *