diff options
Diffstat (limited to 'polyp/idxset.c')
-rw-r--r-- | polyp/idxset.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/polyp/idxset.c b/polyp/idxset.c index cecda6b7..0072e3cd 100644 --- a/polyp/idxset.c +++ b/polyp/idxset.c @@ -95,15 +95,13 @@ struct pa_idxset* pa_idxset_new(unsigned (*hash_func) (const void *p), int (*com void pa_idxset_free(struct pa_idxset *s, void (*free_func) (void *p, void *userdata), void *userdata) { assert(s); - if (free_func) { - while (s->iterate_list_head) { - struct idxset_entry *e = s->iterate_list_head; - s->iterate_list_head = s->iterate_list_head->iterate_next; - - if (free_func) - free_func(e->data, userdata); - free(e); - } + while (s->iterate_list_head) { + struct idxset_entry *e = s->iterate_list_head; + s->iterate_list_head = s->iterate_list_head->iterate_next; + + if (free_func) + free_func(e->data, userdata); + free(e); } free(s->hash_table); |