Mercurial > hg
comparison mcabber/src/roster.c @ 1438:c5d937d5530b
g_hash_table_get_keys() is only in glib >= 2.14
This patch replaces g_hash_table_get_keys() with a foreach loop.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Mon, 25 Feb 2008 21:39:07 +0100 |
parents | 071c8170b7de |
children | 3bf11085c6a5 |
comparison
equal
deleted
inserted
replaced
1437:071c8170b7de | 1438:c5d937d5530b |
---|---|
1554 if (!unread_jids) | 1554 if (!unread_jids) |
1555 return FALSE; | 1555 return FALSE; |
1556 return g_hash_table_remove(unread_jids, jid); | 1556 return g_hash_table_remove(unread_jids, jid); |
1557 } | 1557 } |
1558 | 1558 |
1559 // Helper function for unread_jid_get_list() | |
1560 static void add_to_unreadjids(gpointer key, gpointer value, gpointer udata) | |
1561 { | |
1562 GList **listp = udata; | |
1563 *listp = g_list_append(*listp, key); | |
1564 } | |
1565 | |
1559 // unread_jid_get_list() | 1566 // unread_jid_get_list() |
1560 // Return the JID list. | 1567 // Return the JID list. |
1561 // The content of the list should not be modified or freed. | 1568 // The content of the list should not be modified or freed. |
1562 // The caller should call g_list_free() after use. | 1569 // The caller should call g_list_free() after use. |
1563 GList *unread_jid_get_list(void) | 1570 GList *unread_jid_get_list(void) |
1564 { | 1571 { |
1572 GList *list = NULL; | |
1573 | |
1565 if (!unread_jids) | 1574 if (!unread_jids) |
1566 return NULL; | 1575 return NULL; |
1567 return g_hash_table_get_keys(unread_jids); | 1576 |
1577 // g_hash_table_get_keys() is only in glib >= 2.14 | |
1578 //return g_hash_table_get_keys(unread_jids); | |
1579 | |
1580 g_hash_table_foreach(unread_jids, add_to_unreadjids, &list); | |
1581 return list; | |
1568 } | 1582 } |
1569 | 1583 |
1570 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ | 1584 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |