diff --git a/src/machine/machined.c b/src/machine/machined.c index dec2164bb0..3ae57182dc 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -25,8 +25,7 @@ static Manager* manager_unref(Manager *m); DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_unref); -DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(machine_hash_ops, void, trivial_hash_func, trivial_compare_func, - Machine, machine_free); +DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(machine_hash_ops, char, string_hash_func, string_compare_func, Machine, machine_free); static int manager_new(Manager **ret) { _cleanup_(manager_unrefp) Manager *m = NULL; @@ -38,9 +37,9 @@ static int manager_new(Manager **ret) { if (!m) return -ENOMEM; - m->machines = hashmap_new(&string_hash_ops); + m->machines = hashmap_new(&machine_hash_ops); m->machine_units = hashmap_new(&string_hash_ops); - m->machine_leaders = hashmap_new(&machine_hash_ops); + m->machine_leaders = hashmap_new(NULL); if (!m->machines || !m->machine_units || !m->machine_leaders) return -ENOMEM; @@ -72,7 +71,7 @@ static Manager* manager_unref(Manager *m) { assert(m->n_operations == 0); - hashmap_free(m->machines); + hashmap_free(m->machines); /* This will free all machines, so that the machine_units/machine_leaders is empty */ hashmap_free(m->machine_units); hashmap_free(m->machine_leaders); hashmap_free(m->image_cache);