From 8ae354f41bc1376ac002792da48499a4179da1d2 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 15 Sep 2010 14:50:51 -0600 Subject: [PATCH] build: avoid non-portable IPv6 struct member, for MacOS X * src/util/network.c (getIPv6Addr): Manually join s6_addr bytes, instead of assuming s6_addr16 shorts. Reported by Justin Clifton; solution suggested by Bruno Haible. --- src/util/network.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/network.c b/src/util/network.c index b17d419630..17aa746eff 100644 --- a/src/util/network.c +++ b/src/util/network.c @@ -47,7 +47,8 @@ static int getIPv6Addr(virSocketAddrPtr addr, virIPv6AddrPtr tab) { return(-1); for (i = 0;i < 8;i++) { - (*tab)[i] = ntohs(addr->inet6.sin6_addr.s6_addr16[i]); + (*tab)[i] = ((addr->inet6.sin6_addr.s6_addr[2 * i] << 8) | + addr->inet6.sin6_addr.s6_addr[2 * i + 1]); } return(0); -- GitLab