There is a macro called VIR_SOCKET_ADDR_IS_FAMILY that checks the socket family. There are several occurrences of raw checks in libvirt code. This commit just standardizes the socket family checks by using its macro.
Signed-off-by: Julio Faracco <[email protected]> --- src/rpc/virnetsocket.c | 20 ++++++++++---------- src/util/virsocketaddr.c | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index e8fc2d5f7d..22b0aa6ead 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -276,8 +276,8 @@ virNetSocketNew(virSocketAddr *localAddr, sock->unlinkUNIX = unlinkUNIX; /* Disable nagle for TCP sockets */ - if (sock->localAddr.data.sa.sa_family == AF_INET || - sock->localAddr.data.sa.sa_family == AF_INET6) { + if (VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_INET) || + VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_INET6)) { if (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &no_slow_start, sizeof(no_slow_start)) < 0) { @@ -405,9 +405,9 @@ int virNetSocketNewListenTCP(const char *nodename, * other IP protocol */ if (port != 0 && service == NULL) { - if (addr.data.sa.sa_family == AF_INET) { + if (VIR_SOCKET_ADDR_IS_FAMILY(&addr, AF_INET)) { addr.data.inet4.sin_port = port; - } else if (addr.data.sa.sa_family == AF_INET6) { + } else if (VIR_SOCKET_ADDR_IS_FAMILY(&addr, AF_INET6)) { addr.data.inet6.sin6_port = port; } VIR_DEBUG("Used saved port %d", port); @@ -432,9 +432,9 @@ int virNetSocketNewListenTCP(const char *nodename, } if (port == 0 && service == NULL) { - if (addr.data.sa.sa_family == AF_INET) + if (VIR_SOCKET_ADDR_IS_FAMILY(&addr, AF_INET)) port = addr.data.inet4.sin_port; - else if (addr.data.sa.sa_family == AF_INET6) + else if (VIR_SOCKET_ADDR_IS_FAMILY(&addr, AF_INET6)) port = addr.data.inet6.sin6_port; VIR_DEBUG("Saved port %d", port); } @@ -1293,7 +1293,7 @@ void virNetSocketDispose(void *obj) #ifndef WIN32 /* If a server socket, then unlink UNIX path */ if (sock->unlinkUNIX && - sock->localAddr.data.sa.sa_family == AF_UNIX && + VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_UNIX) && sock->localAddr.data.un.sun_path[0] != '\0') unlink(sock->localAddr.data.un.sun_path); #endif @@ -1370,7 +1370,7 @@ bool virNetSocketIsLocal(virNetSocket *sock) { bool isLocal = false; virObjectLock(sock); - if (sock->localAddr.data.sa.sa_family == AF_UNIX) + if (VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_UNIX)) isLocal = true; virObjectUnlock(sock); return isLocal; @@ -1381,7 +1381,7 @@ bool virNetSocketHasPassFD(virNetSocket *sock) { bool hasPassFD = false; virObjectLock(sock); - if (sock->localAddr.data.sa.sa_family == AF_UNIX) + if (VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_UNIX)) hasPassFD = true; virObjectUnlock(sock); return hasPassFD; @@ -2223,7 +2223,7 @@ void virNetSocketClose(virNetSocket *sock) #ifndef WIN32 /* If a server socket, then unlink UNIX path */ if (sock->unlinkUNIX && - sock->localAddr.data.sa.sa_family == AF_UNIX && + VIR_SOCKET_ADDR_IS_FAMILY(&sock->localAddr, AF_UNIX) && sock->localAddr.data.un.sun_path[0] != '\0') { if (unlink(sock->localAddr.data.un.sun_path) == 0) sock->localAddr.data.un.sun_path[0] = '\0'; diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c index 4d4a6b2a0f..e8e691ce8f 100644 --- a/src/util/virsocketaddr.c +++ b/src/util/virsocketaddr.c @@ -481,7 +481,7 @@ virSocketAddrFormatFull(const virSocketAddr *addr, /* Short-circuit since getnameinfo doesn't work * nicely for UNIX sockets */ - if (addr->data.sa.sa_family == AF_UNIX) { + if (VIR_SOCKET_ADDR_IS_FAMILY(addr, AF_UNIX)) { if (withService) { addrstr = g_strdup_printf(VIR_LOOPBACK_IPV4_ADDR "%s0", separator ? separator : ":"); @@ -636,7 +636,7 @@ virSocketAddrGetPath(virSocketAddr *addr G_GNUC_UNUSED) return NULL; } - if (addr->data.sa.sa_family != AF_UNIX) { + if (!VIR_SOCKET_ADDR_IS_FAMILY(addr, AF_UNIX)) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("UNIX socket address is required")); return NULL; -- 2.52.0
