summaryrefslogtreecommitdiff
path: root/libihash
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-05-15 17:55:45 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-11-06 15:50:28 +0100
commit6c948532d2799bcc172053cac504c4aa5f016bba (patch)
treefb0f17d9b2bc0be22a05eec6605d953bf76d32f4 /libihash
parentdf778cd01505e3a8c11f5b13f5ee26a4be290f9a (diff)
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.
Diffstat (limited to 'libihash')
-rw-r--r--libihash/ihash.c3
-rw-r--r--libihash/ihash.h7
2 files changed, 8 insertions, 2 deletions
diff --git a/libihash/ihash.c b/libihash/ihash.c
index fa29257b..74e9eddd 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 849a55a2..128027a0 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;