* libihash/ihash.h (hurd_ihash_value_valid): New function. * libihash/ihash.c (index_empty): Use hurd_ihash_value_valid. --- libihash/ihash.c | 3 +-- libihash/ihash.h | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/libihash/ihash.c b/libihash/ihash.c index 4d9cc18..5b7b542 100644 --- a/libihash/ihash.c +++ b/libihash/ihash.c @@ -50,8 +50,7 @@ murmur3_mix32 (uint32_t h, unsigned int bits) static inline int index_empty (hurd_ihash_t ht, unsigned int idx) { - return ht->items[idx].value == _HURD_IHASH_EMPTY - || ht->items[idx].value == _HURD_IHASH_DELETED; + return ! hurd_ihash_value_valid (ht->items[idx].value); } diff --git a/libihash/ihash.h b/libihash/ihash.h index 345630d..394bcf9 100644 --- a/libihash/ihash.h +++ b/libihash/ihash.h @@ -41,6 +41,13 @@ typedef void *hurd_ihash_value_t; #define _HURD_IHASH_EMPTY ((hurd_ihash_value_t) 0) #define _HURD_IHASH_DELETED ((hurd_ihash_value_t) -1) +/* Test if VALUE is valid. */ +static inline int +hurd_ihash_value_valid (hurd_ihash_value_t value) +{ + return value != _HURD_IHASH_EMPTY && value != _HURD_IHASH_DELETED; +} + /* The type of integer we want to use for the keys. */ typedef uintptr_t hurd_ihash_key_t; -- 2.0.0.rc0