diff options
Diffstat (limited to 'src/mesa/program')
-rw-r--r-- | src/mesa/program/hash_table.h | 9 | ||||
-rw-r--r-- | src/mesa/program/prog_hash_table.c | 9 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/mesa/program/hash_table.h b/src/mesa/program/hash_table.h index d0a2abffa34..aba5282fe9e 100644 --- a/src/mesa/program/hash_table.h +++ b/src/mesa/program/hash_table.h @@ -47,7 +47,7 @@ extern "C" { struct hash_table; typedef unsigned (*hash_func_t)(const void *key); -typedef int (*hash_compare_func_t)(const void *key1, const void *key2); +typedef bool (*hash_compare_func_t)(const void *key1, const void *key2); /** * Hash table constructor @@ -151,12 +151,11 @@ extern unsigned hash_table_string_hash(const void *key); /** * Compare two strings used as keys * - * This is just a macro wrapper around \c strcmp. + * This is just a wrapper around \c strcmp. * * \sa hash_table_string_hash */ -#define hash_table_string_compare ((hash_compare_func_t) strcmp) - +bool hash_table_string_compare(const void *a, const void *b); /** * Compute hash value of a pointer @@ -178,7 +177,7 @@ hash_table_pointer_hash(const void *key); * * \sa hash_table_pointer_hash */ -int +bool hash_table_pointer_compare(const void *key1, const void *key2); void diff --git a/src/mesa/program/prog_hash_table.c b/src/mesa/program/prog_hash_table.c index 5592b6fb814..f8a7107eb5b 100644 --- a/src/mesa/program/prog_hash_table.c +++ b/src/mesa/program/prog_hash_table.c @@ -228,6 +228,11 @@ hash_table_string_hash(const void *key) return hash; } +bool hash_table_string_compare(const void *a, const void *b) +{ + return strcmp(a, b) == 0; +} + unsigned hash_table_pointer_hash(const void *key) @@ -236,8 +241,8 @@ hash_table_pointer_hash(const void *key) } -int +bool hash_table_pointer_compare(const void *key1, const void *key2) { - return key1 == key2 ? 0 : 1; + return key1 == key2; } |