From: Yu Watanabe Date: Wed, 22 Jan 2025 01:46:09 +0000 (+0900) Subject: network: use hash ops with destructor X-Git-Tag: v258-rc1~1512^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=04b7949ecf25b16f81ffb2798886c3d67115c238;p=thirdparty%2Fsystemd.git network: use hash ops with destructor --- diff --git a/src/network/networkd-address-pool.c b/src/network/networkd-address-pool.c index d9ac78a1a9f..8e4d6826a81 100644 --- a/src/network/networkd-address-pool.c +++ b/src/network/networkd-address-pool.c @@ -32,7 +32,7 @@ static int address_pool_new( .in_addr = *u, }; - r = ordered_set_ensure_put(&m->address_pools, NULL, p); + r = ordered_set_ensure_put(&m->address_pools, &trivial_hash_ops_free, p); if (r < 0) return r; diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 867feeff1b4..1592e258eca 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -692,7 +692,7 @@ Manager* manager_free(Manager *m) { m->wiphy_by_name = hashmap_free(m->wiphy_by_name); m->wiphy_by_index = hashmap_free_with_destructor(m->wiphy_by_index, wiphy_free); - ordered_set_free_free(m->address_pools); + ordered_set_free(m->address_pools); hashmap_free(m->route_table_names_by_number); hashmap_free(m->route_table_numbers_by_name); diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 3ecddff129d..7de0027aae9 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -170,7 +170,7 @@ int network_verify(Network *network) { network->bond_name = mfree(network->bond_name); network->bridge_name = mfree(network->bridge_name); network->vrf_name = mfree(network->vrf_name); - network->stacked_netdev_names = hashmap_free_free_key(network->stacked_netdev_names); + network->stacked_netdev_names = hashmap_free(network->stacked_netdev_names); if (network->bond) { /* Bonding slave does not support addressing. */ @@ -818,7 +818,7 @@ static Network *network_free(Network *network) { free(network->bridge_name); free(network->bond_name); free(network->vrf_name); - hashmap_free_free_key(network->stacked_netdev_names); + hashmap_free(network->stacked_netdev_names); netdev_unref(network->bridge); netdev_unref(network->bond); netdev_unref(network->vrf); @@ -949,7 +949,7 @@ int config_parse_stacked_netdev( if (!name) return log_oom(); - r = hashmap_ensure_put(h, &string_hash_ops, name, INT_TO_PTR(kind)); + r = hashmap_ensure_put(h, &string_hash_ops_free, name, INT_TO_PTR(kind)); if (r == -ENOMEM) return log_oom(); if (r < 0) diff --git a/src/network/networkd-nexthop.c b/src/network/networkd-nexthop.c index 18b130b9599..a3bf4aa1c09 100644 --- a/src/network/networkd-nexthop.c +++ b/src/network/networkd-nexthop.c @@ -97,7 +97,7 @@ static NextHop* nexthop_free(NextHop *nexthop) { nexthop_detach_impl(nexthop); config_section_free(nexthop->section); - hashmap_free_free(nexthop->group); + hashmap_free(nexthop->group); set_free(nexthop->nexthops); set_free(nexthop->routes); @@ -271,7 +271,7 @@ static int nexthop_dup(const NextHop *src, NextHop **ret) { if (!g) return -ENOMEM; - r = hashmap_ensure_put(&dest->group, NULL, UINT32_TO_PTR(g->id), g); + r = hashmap_ensure_put(&dest->group, &trivial_hash_ops_value_free, UINT32_TO_PTR(g->id), g); if (r < 0) return r; if (r > 0) @@ -1018,7 +1018,7 @@ void link_forget_nexthops(Link *link) { } static int nexthop_update_group(NextHop *nexthop, sd_netlink_message *message) { - _cleanup_hashmap_free_free_ Hashmap *h = NULL; + _cleanup_hashmap_free_ Hashmap *h = NULL; _cleanup_free_ struct nexthop_grp *group = NULL; size_t size = 0, n_group; int r; @@ -1058,7 +1058,7 @@ static int nexthop_update_group(NextHop *nexthop, sd_netlink_message *message) { if (!nhg) return log_oom(); - r = hashmap_ensure_put(&h, NULL, UINT32_TO_PTR(nhg->id), nhg); + r = hashmap_ensure_put(&h, &trivial_hash_ops_value_free, UINT32_TO_PTR(nhg->id), nhg); if (r == -ENOMEM) return log_oom(); if (r < 0) { @@ -1069,9 +1069,7 @@ static int nexthop_update_group(NextHop *nexthop, sd_netlink_message *message) { TAKE_PTR(nhg); } - hashmap_free_free(nexthop->group); - nexthop->group = TAKE_PTR(h); - + hashmap_free_and_replace(nexthop->group, h); nexthop_attach_to_group_members(nexthop); return 0; } @@ -1377,7 +1375,7 @@ static int config_parse_nexthop_group( int r; if (isempty(rvalue)) { - *group = hashmap_free_free(*group); + *group = hashmap_free(*group); return 1; } @@ -1431,7 +1429,7 @@ static int config_parse_nexthop_group( continue; } - r = hashmap_ensure_put(group, NULL, UINT32_TO_PTR(nhg->id), nhg); + r = hashmap_ensure_put(group, &trivial_hash_ops_value_free, UINT32_TO_PTR(nhg->id), nhg); if (r == -ENOMEM) return log_oom(); if (r == -EEXIST) {