From 943ba0a6d0ed68938b22a6e789eb27734c6e5c32 Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Wed, 19 Sep 2007 09:28:10 +0300 Subject: [PATCH] Add test case for htable_traverse --- genstructs/htable/htable.c | 4 ++-- genstructs/htable/htable.h | 2 +- genstructs/htable/main.c | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/genstructs/htable/htable.c b/genstructs/htable/htable.c index 48ce5dc..8835bc5 100644 --- a/genstructs/htable/htable.c +++ b/genstructs/htable/htable.c @@ -228,7 +228,7 @@ unsigned int htable_get_used(const htable_t *htable) return htable->ht_used; } -void htable_traverse(const htable_t *htable, void (*pfunc)(void *data), void *data) +void htable_traverse(const htable_t *htable, void (*pfunc)(void *data)) { const hhead_t *phead; const hnode_t *pnode; @@ -237,6 +237,6 @@ void htable_traverse(const htable_t *htable, void (*pfunc)(void *data), void *da for (i = 0; i < htable->ht_size; i++) { phead = &htable->ht_table[i]; TAILQ_FOREACH(pnode, phead, hn_next) - pfunc(data); + pfunc(pnode->hn_data); } } diff --git a/genstructs/htable/htable.h b/genstructs/htable/htable.h index ca2277a..34e1bfd 100644 --- a/genstructs/htable/htable.h +++ b/genstructs/htable/htable.h @@ -50,6 +50,6 @@ void *htable_search(const htable_t *htable, const void *key); void htable_print(const htable_t *htable); size_t htable_get_size(const htable_t *htable); unsigned int htable_get_used(const htable_t *htable); -void htable_traverse(const htable_t *htable, void (*pfunc)(void *data), void *data); +void htable_traverse(const htable_t *htable, void (*pfunc)(void *data)); #endif /* HTABLE_H */ diff --git a/genstructs/htable/main.c b/genstructs/htable/main.c index 4136ad4..898edaa 100644 --- a/genstructs/htable/main.c +++ b/genstructs/htable/main.c @@ -25,6 +25,11 @@ void myprintf(const void *key, const void *data) printf("%s(%s) ", (char *)key, (char *)data); } +void print_elm(void *data) +{ + printf("%s\n", (char *)data); +} + int main(void) { htable_t htable; @@ -50,6 +55,8 @@ int main(void) htable_insert(&htable, "eleni", q); htable_print(&htable); + htable_traverse(&htable, print_elm); + /* Free memory */ htable_free_all_obj(&htable, HT_FREEDATA); htable_free(&htable); -- 2.11.4.GIT