static inline int __gnix_ht_destroy_list( gnix_hashtable_t *ht, struct dlist_entry *head) { gnix_ht_entry_t *ht_entry, *iter; int entries_freed = 0; dlist_for_each_safe(head, ht_entry, iter, entry) { __gnix_ht_delete_entry(ht_entry); ++entries_freed; }
static inline int __gnix_ht_destroy_list( gnix_hashtable_t *ht, struct dlist_entry *head) { gnix_ht_entry_t *ht_entry, *iter; void *value; int entries_freed = 0; dlist_for_each_safe(head, ht_entry, iter, entry) { value = ht_entry->value; __gnix_ht_delete_entry(ht_entry); if (ht->ht_attr.destructor != NULL) { ht->ht_attr.destructor(value); } ++entries_freed; }