From 0ed6ef2567a8355013e2cd61a1a31df6be67ae01 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Fri, 24 Mar 2017 14:05:40 +0100 Subject: ipcpd: normal: Fill in forwarding table The routing now takes the results of the routing table to fill in the forwarding table, by going through the neighbors and filling in the right fd. --- src/lib/hashtable.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/lib/hashtable.c') diff --git a/src/lib/hashtable.c b/src/lib/hashtable.c index 0a534da7..77b56075 100644 --- a/src/lib/hashtable.c +++ b/src/lib/hashtable.c @@ -76,7 +76,17 @@ struct htable * htable_create(uint64_t buckets, bool hash_key) return tmp; } -int htable_destroy(struct htable * table) +void htable_destroy(struct htable * table) +{ + assert(table); + assert(table->buckets); + + htable_flush(table); + free(table->buckets); + free(table); +} + +void htable_flush(struct htable * table) { unsigned int i; struct list_head * pos = NULL; @@ -88,15 +98,11 @@ int htable_destroy(struct htable * table) for (i = 0; i < table->buckets_size; i++) { list_for_each_safe(pos, n, &(table->buckets[i])) { entry = list_entry(pos, struct htable_entry, next); + list_del(&entry->next); free(entry->val); free(entry); } } - - free(table->buckets); - free(table); - - return 0; } static uint64_t hash(uint64_t x) -- cgit v1.2.3