summaryrefslogtreecommitdiffstats
path: root/polyp/hashmap.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-07-20 01:07:06 +0000
committerLennart Poettering <lennart@poettering.net>2004-07-20 01:07:06 +0000
commitbb0b105b83c0f4ee56b4c7e9a179606aee296aa9 (patch)
treec7a83efa8830adee3b4c94a8e28d5c03c9573f20 /polyp/hashmap.c
parent527faf01d0605a6ced9a73017cc8155adba59d24 (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.c14
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;
+}