From 45869513bfebba80cc2ab42e4218f68b34b1e6ac Mon Sep 17 00:00:00 2001 From: Benny Baumann Date: Sun, 1 Nov 2020 01:09:51 +0100 Subject: Embracing branches --- Hashtable.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Hashtable.c') diff --git a/Hashtable.c b/Hashtable.c index a086227c..92337822 100644 --- a/Hashtable.c +++ b/Hashtable.c @@ -70,6 +70,7 @@ void Hashtable_delete(Hashtable* this) { while (walk != NULL) { if (this->owner) free(walk->value); + HashtableItem* savedWalk = walk; walk = savedWalk->next; free(savedWalk); @@ -90,10 +91,13 @@ void Hashtable_put(Hashtable* this, unsigned int key, void* value) { } else if ((*bucketPtr)->key == key) { if (this->owner && (*bucketPtr)->value != value) free((*bucketPtr)->value); + (*bucketPtr)->value = value; break; - } else + } else { bucketPtr = &((*bucketPtr)->next); + } + assert(Hashtable_isConsistent(this)); } @@ -134,8 +138,9 @@ void* Hashtable_get(Hashtable* this, unsigned int key) { } else if (bucketPtr->key == key) { assert(Hashtable_isConsistent(this)); return bucketPtr->value; - } else + } else { bucketPtr = bucketPtr->next; + } } } -- cgit v1.2.3