> I only see the the g_hash_table_foreach() here. But sometimes people may > like to iterate through a hash table and stop the iteration when certain > conditions are met. It is rather trivial to construct a GList of hash table keys (or values) using g_hash_table_foreach. Of course it's only useful on a table whose contents change never or seldom because the list has to be updated on each change. Anyway, here's what I use. I was too lazy to make Append_key() the right type. void append_key(void *k, void *v, GList **keys) { } GList *get_hash_keys(GHashTable *hash) { GList *keys = NULL; g_hash_table_foreach(hash, append_key, &keys); return keys; } --Daniel _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list