* 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. --- Like this. Tested on Fedora, not MacOS X; but since getting it wrong _does_ fail the testsuite, I'm confident it works (spoken as one who swapped the in6_addr[2*i] and in6_addr[2*i+1] bytes on my first attempt). src/util/network.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/util/network.c b/src/util/network.c index b17d419..17aa746 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); -- 1.7.2.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list