diff --git a/src/util/network.c b/src/util/network.c index b17d4196302cb42747d547998c4f736b23229458..17aa746effbe5d9ea7f3d98442f284b5dd3c769c 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);