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/systemctl/systemctl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/systemctl') diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index de43c879a7..88be871f32 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -594,7 +594,7 @@ static int get_unit_list_recursive( assert(_unit_infos); assert(_machines); - replies = set_new(NULL, NULL); + replies = set_new(NULL); if (!replies) return log_oom(); @@ -1338,7 +1338,7 @@ static int list_unit_files(sd_bus *bus, char **args) { Iterator i; unsigned n_units; - h = hashmap_new(string_hash_func, string_compare_func); + h = hashmap_new(&string_hash_ops); if (!h) return log_oom(); @@ -2746,7 +2746,7 @@ static int start_unit(sd_bus *bus, char **args) { return r; } - s = set_new(string_hash_func, string_compare_func); + s = set_new(&string_hash_ops); if (!s) return log_oom(); } -- cgit v1.2.3-54-g00ecf