On 14 Jan 2004, Sven Neumann wrote:

> Hi,
> 
> [EMAIL PROTECTED] writes:
> 
> > 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;
> > }
> 
> Let's hope your implementation of append_key() uses g_list_prepend()
> or this code will be horribly inefficient for large hash tables.

Indeed I use append_key (somehow the function body of append_key
went missing):


        *keys = g_list_append(*keys, k);

Of course you're right, thanks for pointing it out. 

--Daniel

_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to