X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=hash.c;h=72225be4e7b82f0752cc4efcc4acef15dc0d82bc;hp=cb2cf2e4c318dbdce5c03f22adb1b6b8799ac395;hb=e4ebc9b0ae5de07d53d8b0ecf594244e1bc44d0a;hpb=55a238fef5db8ed7cc0c58654ba15df9638b25b4 diff --git a/hash.c b/hash.c index cb2cf2e..72225be 100644 --- a/hash.c +++ b/hash.c @@ -168,3 +168,17 @@ void hash_destroy (HASH ** ptr, void (*destroy) (void *)) mem_free (&pptr->table); mem_free (ptr); } + +void hash_map (HASH* table, void (*mapfunc) (const char* key, void* data, + unsigned long more), + unsigned long more) { + int i = 0; + struct hash_elem* elem = NULL; + + if (!table || !mapfunc) + return; + + for (i = 0; i < table->nelem; i++) + for (elem = table->table[i]; elem; elem = elem->next) + mapfunc (elem->key, elem->data, more); +}