util: hashtable: make hashing prototypes match
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 27 Oct 2017 16:43:45 +0000 (17:43 +0100)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Mon, 30 Oct 2017 15:18:00 +0000 (15:18 +0000)
It seems nobody's using the string hashing function. If you try to
pass it directly to the hashtable creation function, you'll get
compiler warning for non matching prototypes. Let's make them match.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/util/hash_table.c
src/util/hash_table.h

index 1bda2149b95dc24479b4460a051d5821e163d02f..b7421a0144cdc71fec07a5354feb27167082b8bd 100644 (file)
@@ -476,9 +476,10 @@ _mesa_hash_data(const void *data, size_t size)
 
 /** FNV-1a string hash implementation */
 uint32_t
-_mesa_hash_string(const char *key)
+_mesa_hash_string(const void *_key)
 {
    uint32_t hash = _mesa_fnv32_1a_offset_bias;
+   const char *key = _key;
 
    while (*key != 0) {
       hash = _mesa_fnv32_1a_accumulate(hash, *key);
index cf939130fcf9ab453c30634dff46330f7d420975..d3e0758b26517c4225ea302e3d892e4a42c6d709 100644 (file)
@@ -94,7 +94,7 @@ _mesa_hash_table_random_entry(struct hash_table *ht,
                               bool (*predicate)(struct hash_entry *entry));
 
 uint32_t _mesa_hash_data(const void *data, size_t size);
-uint32_t _mesa_hash_string(const char *key);
+uint32_t _mesa_hash_string(const void *key);
 bool _mesa_key_string_equal(const void *a, const void *b);
 bool _mesa_key_pointer_equal(const void *a, const void *b);