diff options
author | Katharina Fey <kookie@spacekookie.de> | 2019-07-14 18:41:07 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2019-07-14 18:47:18 +0100 |
commit | f6e83e64abbf76bbfddc90f885f7c3be379ecf2c (patch) | |
tree | 726ff7b647e7cd1704b30638d8adf73c50a15dfe /hash.h | |
parent | 98852464c7d4cd3a6a08d0208378506fdce822d6 (diff) |
Various improvements around HASH nodes
The example previously would lead to corrupt memory
when running for items that needed to re-hash the
hash array. This has been fixed.
Secondly, all HASH node memory leaks are now fixed,
that resulted from badly tracking objects through the
resize process. A new function `hash_free_shallow` was
added to help with this. The function `array_free_shallow`
is unused but might become useful in the future and so
was not removed.
The hash strategy is still garbage but this can be fixed later :)
Diffstat (limited to 'hash.h')
-rw-r--r-- | hash.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -7,5 +7,9 @@ err_t hash_insert_key(struct bowl *, char *key, struct bowl *); err_t hash_remove_key(struct bowl *, char *key, struct bowl **); +err_t hash_free(struct bowl *); + +err_t hash_free_shallow(struct bowl_arr *); + #endif // HASH_H_ |