From a7e63b91c8e4572751fa596f6ead2dc3194b32b4 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Thu, 23 Jul 2020 00:52:48 +0900 Subject: [PATCH] ccc: Add assoc_array_foreach() method --- src/assoc_array.c | 13 +++++++++++++ src/assoc_array.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/assoc_array.c b/src/assoc_array.c index 5230d5b..15702dc 100644 --- a/src/assoc_array.c +++ b/src/assoc_array.c @@ -135,3 +135,16 @@ int assoc_array_drop(struct assoc_array *array, const char *key) return(ret_val); } + +void assoc_array_foreach(struct assoc_array *array, + void (*func)(const char*, void*, void*), + void *arg3) +{ + struct item *cur; + + for(cur = array->head; cur; cur = cur->next) { + func(cur->key, cur->data, arg3); + } + + return; +} diff --git a/src/assoc_array.h b/src/assoc_array.h index 978582a..310d687 100644 --- a/src/assoc_array.h +++ b/src/assoc_array.h @@ -10,4 +10,6 @@ int assoc_array_get(struct assoc_array*, const char*, void**); int assoc_array_set(struct assoc_array*, const char*, const void*); int assoc_array_drop(struct assoc_array*, const char*); +int assoc_array_foreach(struct assoc_array*, void (*)(const char*, void *, void*), void*); + #endif /* ASSOC_ARRAY_H */ -- 2.47.3