diff --git a/kernel-src/include/hashtable.h b/kernel-src/include/hashtable.h index f3946660..18442a83 100644 --- a/kernel-src/include/hashtable.h +++ b/kernel-src/include/hashtable.h @@ -15,6 +15,7 @@ typedef struct hashentry_t { } hashentry_t; typedef struct { + size_t entrycount; size_t capacity; hashentry_t **entries; } hashtable_t; diff --git a/kernel-src/lib/hashtable.c b/kernel-src/lib/hashtable.c index e33a5b25..40d0cb94 100644 --- a/kernel-src/lib/hashtable.c +++ b/kernel-src/lib/hashtable.c @@ -63,6 +63,7 @@ int hashtable_set(hashtable_t *table, void *value, void *key, size_t keysize, bo entry->keysize = keysize; entry->hash = hash; table->entries[tableoffset] = entry; + ++table->entrycount; return 0; } @@ -97,6 +98,7 @@ int hashtable_remove(hashtable_t *table, void *key, size_t keysize) { free(entry->key); slab_free(hashentrycache, entry); + --table->entrycount; return 0; }