X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fshared%2Fsocket-util.c;fp=src%2Fshared%2Fsocket-util.c;h=deecce8a8062da84ead7ec973323d0364ea8e84b;hb=02233928a502e46fc125118dba7234ba3e48dc15;hp=c31f60ec7ea58a8f269266dae4ac5e6d704e1430;hpb=dbafedacba3ee77098e932222ae7840e7b4040fc;p=elogind.git diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c index c31f60ec7..deecce8a8 100644 --- a/src/shared/socket-util.c +++ b/src/shared/socket-util.c @@ -464,23 +464,7 @@ bool socket_address_matches_fd(const SocketAddress *a, int fd) { return false; } - switch (b.sockaddr.sa.sa_family) { - - case AF_INET: - return b.sockaddr.in.sin_port == a->sockaddr.in.sin_port && - b.sockaddr.in.sin_addr.s_addr == a->sockaddr.in.sin_addr.s_addr; - - case AF_INET6: - return b.sockaddr.in6.sin6_port == a->sockaddr.in6.sin6_port && - memcmp(&b.sockaddr.in6.sin6_addr, &a->sockaddr.in6.sin6_addr, sizeof(struct in6_addr)) == 0; - - case AF_UNIX: - return b.sockaddr.size == a->size && - memcmp(b.sockaddr.un.sun_path, a->sockaddr.un.sun_path, b.size - offsetof(struct sockaddr_un, sun_path)) == 0; - - } - - return false; + return socket_address_equal(a, &b); } int sockaddr_pretty(const struct sockaddr *_sa, socklen_t salen, bool translate_ipv6, char **ret) {