From: Arran Cudbard-Bell Date: Fri, 16 Apr 2021 19:49:40 +0000 (-0500) Subject: Add missing public "replace" function X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cd88378a9dfee913d9464e56305adcbdb16cb126;p=thirdparty%2Ffreeradius-server.git Add missing public "replace" function --- diff --git a/src/lib/util/htrie.h b/src/lib/util/htrie.h index e86b44bab24..c721f43f381 100644 --- a/src/lib/util/htrie.h +++ b/src/lib/util/htrie.h @@ -78,26 +78,49 @@ fr_htrie_t *fr_htrie_alloc(TALLOC_CTX *ctx, fr_trie_key_t get_key, fr_free_t free_data); +/** Find data in a htrie + * + */ static inline CC_HINT(nonnull) void *fr_htrie_find(fr_htrie_t *ht, void const *data) { return ht->funcs.find(ht->store, data); } -static inline CC_HINT(nonnull) int fr_htrie_insert(fr_htrie_t *ht, void const *data) +/** Insert data into a htrie + * + */ +static inline CC_HINT(nonnull) bool fr_htrie_insert(fr_htrie_t *ht, void const *data) { return ht->funcs.insert(ht->store, data); } -static inline CC_HINT(nonnull) int fr_htrie_delete(fr_htrie_t *ht, void const *data) +/** Replace data in a htrie, freeing previous data if free_data cb was passed to fr_htrie_alloc + * + */ +static inline CC_HINT(nonnull) int fr_htrie_replace(fr_htrie_t *ht, void const *data) { - return ht->funcs.delete(ht->store, data); + return ht->funcs.replace(ht->store, data); } -static inline CC_HINT(nonnull) int fr_htrie_replace(fr_htrie_t *ht, void const *data) +/** Remove data from a htrie without freeing it + * + */ +static inline CC_HINT(nonnull) int fr_htrie_remove(fr_htrie_t *ht, void const *data) { - return ht->funcs.replace(ht->store, data); + return ht->funcs.remove(ht->store, data); +} + +/** Delete data from a htrie, freeing it if free_data cb was passed to fr_htrie_alloc + * + */ +static inline CC_HINT(nonnull) bool fr_htrie_delete(fr_htrie_t *ht, void const *data) +{ + return ht->funcs.delete(ht->store, data); } +/** Return the number of elements in the htrie + * + */ static inline CC_HINT(nonnull) int fr_htrie_num_elements(fr_htrie_t *ht) { return ht->funcs.num_elements(ht->store);