mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
hash_AddElement: return the new node
This commit is contained in:
committed by
Eldred Habert
parent
5334fc334e
commit
8885f7bcf6
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user