From: Yu Watanabe Date: Tue, 31 Jul 2018 16:18:57 +0000 (+0900) Subject: basic: use FAMILY_ADDRESS_SIZE() macro in hash_ops for in_addr_data X-Git-Tag: v240~870^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F9764%2Fhead;p=thirdparty%2Fsystemd.git basic: use FAMILY_ADDRESS_SIZE() macro in hash_ops for in_addr_data --- diff --git a/src/basic/in-addr-util.c b/src/basic/in-addr-util.c index b9d3572baf5..a21aa149f55 100644 --- a/src/basic/in-addr-util.c +++ b/src/basic/in-addr-util.c @@ -576,11 +576,7 @@ void in_addr_data_hash_func(const void *p, struct siphash *state) { const struct in_addr_data *a = p; siphash24_compress(&a->family, sizeof(a->family), state); - - if (a->family == AF_INET) - siphash24_compress(&a->address.in, sizeof(a->address.in), state); - else if (a->family == AF_INET6) - siphash24_compress(&a->address.in6, sizeof(a->address.in6), state); + siphash24_compress(&a->address, FAMILY_ADDRESS_SIZE(a->family), state); } int in_addr_data_compare_func(const void *a, const void *b) { @@ -589,13 +585,7 @@ int in_addr_data_compare_func(const void *a, const void *b) { if (x->family != y->family) return x->family - y->family; - if (x->family == AF_INET) - return memcmp(&x->address.in.s_addr, &y->address.in.s_addr, sizeof(struct in_addr)); - - if (x->family == AF_INET6) - return memcmp(&x->address.in6.s6_addr, &y->address.in6.s6_addr, sizeof(struct in6_addr)); - - return trivial_compare_func(a, b); + return memcmp(&x->address, &y->address, FAMILY_ADDRESS_SIZE(x->family)); } const struct hash_ops in_addr_data_hash_ops = {