diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-07-20 01:07:06 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-07-20 01:07:06 +0000 |
commit | bb0b105b83c0f4ee56b4c7e9a179606aee296aa9 (patch) | |
tree | c7a83efa8830adee3b4c94a8e28d5c03c9573f20 /polyp/hashmap.c | |
parent | 527faf01d0605a6ced9a73017cc8155adba59d24 (diff) |
sample cache work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@98 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/hashmap.c')
-rw-r--r-- | polyp/hashmap.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/polyp/hashmap.c b/polyp/hashmap.c index 2c7c92b5..51e3879b 100644 --- a/polyp/hashmap.c +++ b/polyp/hashmap.c @@ -168,3 +168,17 @@ int pa_hashmap_remove(struct pa_hashmap *h, const void *key) { unsigned pa_hashmap_ncontents(struct pa_hashmap *h) { return h->n_entries; } + +void *pa_hashmap_iterate(struct pa_hashmap *h, void **state) { + assert(h && state); + + if (!*state) { + *state = h->first_entry; + } else + *state = ((struct hashmap_entry*) *state)->next; + + if (!*state) + return NULL; + + return ((struct hashmap_entry*) *state)->value; +} |