From 82a74dd5ec16f888682cf797a5db65a734c8ed3f Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Sat, 7 Nov 2015 12:34:45 -0500 Subject: [PATCH] core/set: Add a function for clearing sets Signed-off-by: Anna Schumaker --- include/core/set.h | 5 +++++ tests/core/set.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/include/core/set.h b/include/core/set.h index 5f0be086..28b9b9eb 100644 --- a/include/core/set.h +++ b/include/core/set.h @@ -39,6 +39,11 @@ static inline void set_remove(struct set *set, unsigned int value) g_hash_table_remove(set->s_set, GUINT_TO_POINTER(value)); } +static inline void set_clear(struct set *set) +{ + g_hash_table_remove_all(set->s_set); +} + static inline bool set_has(const struct set *set, unsigned int value) { return g_hash_table_contains(set->s_set, GUINT_TO_POINTER(value)); diff --git a/tests/core/set.c b/tests/core/set.c index f783dbcf..d0b16d9d 100644 --- a/tests/core/set.c +++ b/tests/core/set.c @@ -37,6 +37,9 @@ void test_set() i += 2; } test_loop_passed(); + set_clear(&set); + test_equal(set_size(&set), 0); + set_deinit(&set); }