Commit d40d30cb by Vicent Marti

Debug assertion when using an initialized hashtable

parent 434bedcd
...@@ -184,6 +184,8 @@ int git_hashtable_insert2(git_hashtable *self, const void *key, void *value, voi ...@@ -184,6 +184,8 @@ int git_hashtable_insert2(git_hashtable *self, const void *key, void *value, voi
int hash_id; int hash_id;
git_hashtable_node *node; git_hashtable_node *node;
assert(self && self->nodes);
*old_value = NULL; *old_value = NULL;
for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) { for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) {
...@@ -218,6 +220,8 @@ void *git_hashtable_lookup(git_hashtable *self, const void *key) ...@@ -218,6 +220,8 @@ void *git_hashtable_lookup(git_hashtable *self, const void *key)
int hash_id; int hash_id;
git_hashtable_node *node; git_hashtable_node *node;
assert(self && self->nodes);
for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) { for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) {
node = node_with_hash(self, key, hash_id); node = node_with_hash(self, key, hash_id);
if (node->key && self->key_equal(key, node->key) == 0) if (node->key && self->key_equal(key, node->key) == 0)
...@@ -232,6 +236,8 @@ int git_hashtable_remove(git_hashtable *self, const void *key) ...@@ -232,6 +236,8 @@ int git_hashtable_remove(git_hashtable *self, const void *key)
int hash_id; int hash_id;
git_hashtable_node *node; git_hashtable_node *node;
assert(self && self->nodes);
for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) { for (hash_id = 0; hash_id < GIT_HASHTABLE_HASHES; ++hash_id) {
node = node_with_hash(self, key, hash_id); node = node_with_hash(self, key, hash_id);
if (node->key && self->key_equal(key, node->key) == 0) { if (node->key && self->key_equal(key, node->key) == 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment