bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 3/5] libihash: add hurd_ihash_value_valid


From: Justus Winter
Subject: [PATCH 3/5] libihash: add hurd_ihash_value_valid
Date: Thu, 15 May 2014 23:10:49 +0200

* 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]