From d5099efc47d4e6ac60816b5381a5f607ab03f06e Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Wed, 13 Aug 2014 01:00:18 +0200 Subject: 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. --- src/machine/machined.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/machine') diff --git a/src/machine/machined.c b/src/machine/machined.c index aac670ba78..71c8189d5f 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -44,9 +44,9 @@ Manager *manager_new(void) { if (!m) return NULL; - m->machines = hashmap_new(string_hash_func, string_compare_func); - m->machine_units = hashmap_new(string_hash_func, string_compare_func); - m->machine_leaders = hashmap_new(trivial_hash_func, trivial_compare_func); + m->machines = hashmap_new(&string_hash_ops); + m->machine_units = hashmap_new(&string_hash_ops); + m->machine_leaders = hashmap_new(NULL); if (!m->machines || !m->machine_units || !m->machine_leaders) { manager_free(m); -- cgit v1.2.3-54-g00ecf