From: Matthias Kruk Date: Wed, 22 Jul 2020 15:52:48 +0000 (+0900) Subject: ccc: Add assoc_array_foreach() method X-Git-Url: https://git.corax.cc/?a=commitdiff_plain;h=a7e63b91c8e4572751fa596f6ead2dc3194b32b4;p=ccc ccc: Add assoc_array_foreach() method --- 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 */