From 17edf15cbd453ad01945598ce602e5df92d6d3e9 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 29 Dec 2010 23:55:15 -0500 Subject: [PATCH] Add hashtable_contains() --- hashtable.c | 5 +++++ hashtable.h | 1 + 2 files changed, 6 insertions(+) diff --git a/hashtable.c b/hashtable.c index 813024c..07a700b 100644 --- a/hashtable.c +++ b/hashtable.c @@ -79,6 +79,11 @@ static hashtable_entry_t **hashtable_find(hashtable_t *table, cmsg_bytes_t key) return entryptr; } +int hashtable_contains(hashtable_t *table, cmsg_bytes_t key) { + hashtable_entry_t **entryptr = hashtable_find(table, key); + return (*entryptr != NULL); +} + int hashtable_get(hashtable_t *table, cmsg_bytes_t key, void **valueptr) { hashtable_entry_t **entryptr = hashtable_find(table, key); if (*entryptr == NULL) { diff --git a/hashtable.h b/hashtable.h index 8d36774..e8ff63f 100644 --- a/hashtable.h +++ b/hashtable.h @@ -25,6 +25,7 @@ extern void init_hashtable(hashtable_t *table, void (*free_value)(void *)); extern void destroy_hashtable(hashtable_t *table); +extern int hashtable_contains(hashtable_t *table, cmsg_bytes_t key); extern int hashtable_get(hashtable_t *table, cmsg_bytes_t key, void **valueptr); extern int hashtable_put(hashtable_t *table, cmsg_bytes_t key, void *value); extern int hashtable_erase(hashtable_t *table, cmsg_bytes_t key);