summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-10-29 11:41:01 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-12-14 23:30:16 +0900
commit40424f1ad97db59958e40a395986a5e248da6f05 (patch)
tree85327e42147ee878b05a4cd2b311d371560c6635
parent18f2ee33102d1ff4f658829f971697895d813cfd (diff)
downloadsystemd-40424f1ad97db59958e40a395986a5e248da6f05.tar.gz
network: introduce routing_policy_rule_equal()
-rw-r--r--src/network/networkd-routing-policy-rule.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c
index 0b7ee79f6f..411d44b073 100644
--- a/src/network/networkd-routing-policy-rule.c
+++ b/src/network/networkd-routing-policy-rule.c
@@ -264,6 +264,16 @@ static int routing_policy_rule_compare_func(const RoutingPolicyRule *a, const Ro
}
}
+static bool routing_policy_rule_equal(const RoutingPolicyRule *rule1, const RoutingPolicyRule *rule2) {
+ if (rule1 == rule2)
+ return true;
+
+ if (!rule1 || !rule2)
+ return false;
+
+ return routing_policy_rule_compare_func(rule1, rule2) == 0;
+}
+
DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR(
routing_policy_rule_hash_ops,
RoutingPolicyRule,
@@ -605,7 +615,7 @@ static bool manager_links_have_routing_policy_rule(Manager *m, RoutingPolicyRule
continue;
HASHMAP_FOREACH(link_rule, link->network->rules_by_section)
- if (routing_policy_rule_compare_func(link_rule, rule) == 0)
+ if (routing_policy_rule_equal(link_rule, rule))
return true;
}