From 109d60fca3d3cf495efef48981dfefe197741312 Mon Sep 17 00:00:00 2001 From: "Sven M. Hallberg" <pesco@khjk.org> Date: Tue, 30 Apr 2013 17:44:54 +0200 Subject: [PATCH] make hashtable keys const --- src/datastructures.c | 8 ++++---- src/internal.h | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/datastructures.c b/src/datastructures.c index b1e4f754..5993e457 100644 --- a/src/datastructures.c +++ b/src/datastructures.c @@ -116,7 +116,7 @@ HHashTable* h_hashtable_new(HArena *arena, HEqualFunc equalFunc, HHashFunc hashF return ht; } -void* h_hashtable_get(HHashTable* ht, void* key) { +void* h_hashtable_get(HHashTable* ht, const void* key) { HHashValue hashval = ht->hashFunc(key); #ifdef CONSISTENCY_CHECK assert((ht->capacity & (ht->capacity - 1)) == 0); // capacity is a power of 2 @@ -134,7 +134,7 @@ void* h_hashtable_get(HHashTable* ht, void* key) { return NULL; } -void h_hashtable_put(HHashTable* ht, void* key, void* value) { +void h_hashtable_put(HHashTable* ht, const void* key, void* value) { // # Start with a rebalancing //h_hashtable_ensure_capacity(ht, ht->used + 1); @@ -166,7 +166,7 @@ void h_hashtable_put(HHashTable* ht, void* key, void* value) { hte->hashval = hashval; } -int h_hashtable_present(HHashTable* ht, void* key) { +int h_hashtable_present(HHashTable* ht, const void* key) { HHashValue hashval = ht->hashFunc(key); #ifdef CONSISTENCY_CHECK assert((ht->capacity & (ht->capacity - 1)) == 0); // capacity is a power of 2 @@ -182,7 +182,7 @@ int h_hashtable_present(HHashTable* ht, void* key) { } return false; } -void h_hashtable_del(HHashTable* ht, void* key) { +void h_hashtable_del(HHashTable* ht, const void* key) { HHashValue hashval = ht->hashFunc(key); #ifdef CONSISTENCY_CHECK assert((ht->capacity & (ht->capacity - 1)) == 0); // capacity is a power of 2 diff --git a/src/internal.h b/src/internal.h index edb0c217..d4ba829b 100644 --- a/src/internal.h +++ b/src/internal.h @@ -96,7 +96,7 @@ typedef bool (*HEqualFunc)(const void* key1, const void* key2); typedef struct HHashTableEntry_ { struct HHashTableEntry_ *next; - void* key; + const void* key; void* value; HHashValue hashval; } HHashTableEntry; @@ -248,10 +248,10 @@ HSlist* h_slist_remove_all(HSlist *slist, const void* item); void h_slist_free(HSlist *slist); HHashTable* h_hashtable_new(HArena *arena, HEqualFunc equalFunc, HHashFunc hashFunc); -void* h_hashtable_get(HHashTable* ht, void* key); -void h_hashtable_put(HHashTable* ht, void* key, void* value); -int h_hashtable_present(HHashTable* ht, void* key); -void h_hashtable_del(HHashTable* ht, void* key); +void* h_hashtable_get(HHashTable* ht, const void* key); +void h_hashtable_put(HHashTable* ht, const void* key, void* value); +int h_hashtable_present(HHashTable* ht, const void* key); +void h_hashtable_del(HHashTable* ht, const void* key); void h_hashtable_free(HHashTable* ht); static inline bool h_hashtable_empty(HHashTable* ht) { return (ht->used == 0); } -- GitLab