Add hashtable_contains()

This commit is contained in:
Tony Garnock-Jones 2010-12-29 23:55:15 -05:00
parent 23cb773630
commit 17edf15cbd
2 changed files with 6 additions and 0 deletions

View File

@ -79,6 +79,11 @@ static hashtable_entry_t **hashtable_find(hashtable_t *table, cmsg_bytes_t key)
return entryptr; 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) { int hashtable_get(hashtable_t *table, cmsg_bytes_t key, void **valueptr) {
hashtable_entry_t **entryptr = hashtable_find(table, key); hashtable_entry_t **entryptr = hashtable_find(table, key);
if (*entryptr == NULL) { if (*entryptr == NULL) {

View File

@ -25,6 +25,7 @@ extern void init_hashtable(hashtable_t *table,
void (*free_value)(void *)); void (*free_value)(void *));
extern void destroy_hashtable(hashtable_t *table); 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_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_put(hashtable_t *table, cmsg_bytes_t key, void *value);
extern int hashtable_erase(hashtable_t *table, cmsg_bytes_t key); extern int hashtable_erase(hashtable_t *table, cmsg_bytes_t key);