diff options
Diffstat (limited to 'src/shared/set.c')
-rw-r--r-- | src/shared/set.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/shared/set.c b/src/shared/set.c index 53399b655b..c338dc3a44 100644 --- a/src/shared/set.c +++ b/src/shared/set.c @@ -37,14 +37,6 @@ void set_free(Set* s) { hashmap_free(MAKE_HASHMAP(s)); } -void set_freep(Set **s) { - if (!s) - return; - - set_free(*s); - *s = NULL; -} - void set_free_free(Set *s) { hashmap_free_free(MAKE_HASHMAP(s)); } @@ -57,6 +49,13 @@ int set_put(Set *s, void *value) { return hashmap_put(MAKE_HASHMAP(s), value, value); } +int set_consume(Set *s, void *value) { + int r = set_put(s, value); + if (r < 0) + free(value); + return r; +} + int set_replace(Set *s, void *value) { return hashmap_replace(MAKE_HASHMAP(s), value, value); } |