Changeset 3307

Show
Ignore:
Timestamp:
05/03/08 14:30:03 (3 months ago)
Author:
gcobb
Message:

Avoid use of g_hash_table_get_keys

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ChangeLog

    r3268 r3307  
     12008-05-03  Graham Cobb  <g+770@cobb.uk.net> 
     2 
     3        * opensync/helper/opensync_hashtable.c (osync_hashtable_get_deleted):  
     4        Avoid use of g_hash_table_get_keys so code can be built using glib 2.12. 
     5        Uses g_hash_table_foreach with a callback routine instead. 
     6 
    172008-04-12  Daniel Gollub <dgollub@suse.de> 
    28 
  • trunk/opensync/helper/opensync_hashtable.c

    r3305 r3307  
    497497        osync_trace(TRACE_ENTRY, "%s(%p)", __func__, table); 
    498498 
    499         GList *e, *db_entries; 
    500499        OSyncList *deleted_entries = NULL; 
    501500 
    502         db_entries = g_hash_table_get_keys(table->db_entries); 
    503  
    504         for (e = db_entries; e; e = e->next) { 
    505                 const char *uid = e->data; 
    506  
    507                 if (!g_hash_table_lookup(table->reported_entries, uid)) 
    508                         deleted_entries = osync_list_prepend(deleted_entries, (char *) uid); 
    509         } 
    510  
    511         g_list_free(db_entries); 
     501        void callback_check_deleted(gpointer key, gpointer value, gpointer user_data) 
     502          { 
     503            if (!g_hash_table_lookup(table->reported_entries, key)) 
     504              deleted_entries = osync_list_prepend(deleted_entries, key); 
     505          } 
     506 
     507        g_hash_table_foreach(table->db_entries, callback_check_deleted, NULL); 
    512508 
    513509        osync_trace(TRACE_EXIT, "%s: %p", __func__, deleted_entries);