From 91945f9e91e46aef79700015da032e16c355c96c Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 9 Aug 2016 00:02:44 -0700 Subject: [PATCH] prog_hash_table: Convert compare funcs to match util/hash_table.h. I'm going to replace this hash table with util/hash_table.h, and the first step is to compare things the same way. Reviewed-by: Ian Romanick Reviewed-by: Timothy Arceri --- src/mesa/program/hash_table.h | 9 ++++----- 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; } -- 2.30.2