apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gunter Coelle <gunter.coe...@dbaudio.com>
Subject Iterating with apr_hash_first / memory probs
Date Tue, 22 Apr 2003 12:44:06 GMT
Hi,

I wonder, why nobody answered yet.
Did I missed something?

My suggestions was to split "apr_hash_first()" into two parts/functions
1. allocating memory for the iterator
2. jumping to the first entry of the hash table.

e.g. (seen from the application):
--------------------
    apr_hash_index_t* hi1 ;
    apr_hash_index_t* hi2 ;
    apr_pool_t  p ;

    hi1 = apr_hash_alloc_iterator(p,ht) ;

    while (1) // an endless thread, which iterates through the hashtable
    {
      for ((hi2=apr_hash_first(hi1,ht); hi2; hi2=apr_hash_next(hi2))
      {
        apr_hash_this(...) ;
        ....
      }
    }
----------------------

if we make a definition within apr_hash.h, we could even use
static iterators like:
----------------------
    apr_hash_iterator_t  Iterator ;
    apr_hash_index_t     *hi ;

    for (hi=apr_hash_first(&Iterator,ht); hi; hi=apr_hash_next(hi))
    ....
-----------------------

Does this makes sense?

Gunter





Mime
View raw message