From 9a897e22d488e055c3da2e9366a6f2b8154dc591 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 6 Jul 2019 11:14:43 +0900 Subject: [PATCH] util: introduce in4_addr_equal() --- src/basic/in-addr-util.c | 9 ++++++++- src/basic/in-addr-util.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/basic/in-addr-util.c b/src/basic/in-addr-util.c index c1fab51..fad2396 100644 --- a/src/basic/in-addr-util.c +++ b/src/basic/in-addr-util.c @@ -91,12 +91,19 @@ int in_addr_is_localhost(int family, const union in_addr_union *u) { return -EAFNOSUPPORT; } +bool in4_addr_equal(const struct in_addr *a, const struct in_addr *b) { + assert(a); + assert(b); + + return a->s_addr == b->s_addr; +} + int in_addr_equal(int family, const union in_addr_union *a, const union in_addr_union *b) { assert(a); assert(b); if (family == AF_INET) - return a->in.s_addr == b->in.s_addr; + return in4_addr_equal(&a->in, &b->in); if (family == AF_INET6) return diff --git a/src/basic/in-addr-util.h b/src/basic/in-addr-util.h index 2ca7f4b..28afc7d 100644 --- a/src/basic/in-addr-util.h +++ b/src/basic/in-addr-util.h @@ -32,6 +32,7 @@ int in_addr_is_localhost(int family, const union in_addr_union *u); bool in4_addr_is_non_local(const struct in_addr *a); +bool in4_addr_equal(const struct in_addr *a, const struct in_addr *b); int in_addr_equal(int family, const union in_addr_union *a, const union in_addr_union *b); int in_addr_prefix_intersect(int family, const union in_addr_union *a, unsigned aprefixlen, const union in_addr_union *b, unsigned bprefixlen); int in_addr_prefix_next(int family, union in_addr_union *u, unsigned prefixlen); -- 2.7.4