diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2014-09-15 16:43:59 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2014-09-15 16:43:59 -0400 |
commit | 7398282096ba4a74b11c18082cab7db32c2b0da1 (patch) | |
tree | 77eaf24ef7c223963ab4d498d5f350932b17ff6c /src/shared/set.c | |
parent | 35257b404e1b449bcfbcbbf7dd4a713927bec8ed (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.c | 8 |
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); -} |