summaryrefslogtreecommitdiff
path: root/src/shared/set.c
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2014-09-15 16:43:59 -0400
committerAnthony G. Basile <blueness@gentoo.org>2014-09-15 16:43:59 -0400
commit7398282096ba4a74b11c18082cab7db32c2b0da1 (patch)
tree77eaf24ef7c223963ab4d498d5f350932b17ff6c /src/shared/set.c
parent35257b404e1b449bcfbcbbf7dd4a713927bec8ed (diff)
hashmap: introduce hash_ops to make struct Hashmap smaller
It is redundant to store 'hash' and 'compare' function pointers in struct Hashmap separately. The functions always comprise a pair. Store a single pointer to struct hash_ops instead. systemd keeps hundreds of hashmaps, so this saves a little bit of memory. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/shared/set.c')
-rw-r--r--src/shared/set.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/shared/set.c b/src/shared/set.c
index 8b89d45cc4..4b8c76feca 100644
--- a/src/shared/set.c
+++ b/src/shared/set.c
@@ -27,8 +27,8 @@
/* For now this is not much more than a wrapper around a hashmap */
-Set *set_new(hash_func_t hash_func, compare_func_t compare_func) {
- return MAKE_SET(hashmap_new(hash_func, compare_func));
+Set *set_new(const struct hash_ops *hash_ops) {
+ return MAKE_SET(hashmap_new(hash_ops));
}
void set_free(Set* s) {
@@ -50,7 +50,3 @@ bool set_contains(Set *s, void *value) {
void *set_iterate(Set *s, Iterator *i) {
return hashmap_iterate(MAKE_HASHMAP(s), i, NULL);
}
-
-void *set_iterate_backwards(Set *s, Iterator *i) {
- return hashmap_iterate_backwards(MAKE_HASHMAP(s), i, NULL);
-}