From da52cf6c58c61f45f604552a9057fc1eed324c89 Mon Sep 17 00:00:00 2001 From: koekeishiya Date: Fri, 30 Mar 2018 14:27:52 +0200 Subject: #30 don't ovewrite existing keys in hashtable --- src/hashtable.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/hashtable.h') diff --git a/src/hashtable.h b/src/hashtable.h index 48ffaad..42d0166 100644 --- a/src/hashtable.h +++ b/src/hashtable.h @@ -89,7 +89,9 @@ void table_add(struct table *table, void *key, void *value) { struct bucket **bucket = table_get_bucket(table, key); if (*bucket) { - (*bucket)->value = value; + if (!(*bucket)->value) { + (*bucket)->value = value; + } } else { *bucket = table_new_bucket(key, value); ++table->count; -- cgit v1.2.3