hash_AddElement: return the new node

This commit is contained in:
Jakub Kądziołka
2021-04-16 13:42:17 +02:00
committed by Eldred Habert
parent 5334fc334e
commit 8885f7bcf6
2 changed files with 4 additions and 4 deletions

View File

@@ -29,9 +29,9 @@ typedef struct HashMapEntry *HashMap[HASHMAP_NB_BUCKETS];
* @param map The HashMap to add the element to
* @param key The key with which the element will be stored and retrieved
* @param element The element to add
* @return True if a collision occurred (for statistics)
* @return A pointer to the pointer to the element.
*/
bool hash_AddElement(HashMap map, char const *key, void *element);
void **hash_AddElement(HashMap map, char const *key, void *element);
/**
* Replaces an element with an already-present key in a hashmap.

View File

@@ -46,7 +46,7 @@ static HashType hash(char const *str)
return hash;
}
bool hash_AddElement(HashMap map, char const *key, void *element)
void **hash_AddElement(HashMap map, char const *key, void *element)
{
HashType hashedKey = hash(key);
HalfHashType index = hashedKey;
@@ -61,7 +61,7 @@ bool hash_AddElement(HashMap map, char const *key, void *element)
newEntry->next = map[index];
map[index] = newEntry;
return newEntry->next != NULL;
return &newEntry->content;
}
bool hash_ReplaceElement(HashMap const map, char const *key, void *element)