From 6c948532d2799bcc172053cac504c4aa5f016bba Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 15 May 2014 17:55:45 +0200 Subject: [PATCH hurd 1/3] libihash: add hurd_ihash_value_valid * 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 fa29257..74e9edd 100644 --- a/libihash/ihash.c +++ b/libihash/ihash.c @@ -37,8 +37,7 @@ 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 849a55a..128027a 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.1.4