Network/Socket: Fix IPv6 encoding

This commit is contained in:
Lynix 2018-04-01 21:30:07 +02:00
parent df510aeb78
commit a5400f07c9
2 changed files with 6 additions and 5 deletions

View File

@ -218,9 +218,9 @@ namespace Nz
IpAddress::IPv6 address = ipAddress.ToIPv6();
for (unsigned int i = 0; i < 8; ++i)
{
UInt16 networkOrder = htons(address[i]);
socketAddress->sin6_addr.s6_addr[2 * i] = networkOrder / 256;
socketAddress->sin6_addr.s6_addr[2 * i + 1] = networkOrder % 256;
u_short addressPart = htons(address[i]);
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = addressPart >> 0;
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = addressPart >> 8;
}
return sizeof(sockaddr_in6);

View File

@ -258,8 +258,9 @@ namespace Nz
IpAddress::IPv6 address = ipAddress.ToIPv6();
for (unsigned int i = 0; i < 8; ++i)
{
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = htons(address[i]) >> 8;
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = htons(address[i]) >> 0;
u_short addressPart = htons(address[i]);
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = addressPart >> 0;
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = addressPart >> 8;
}
return sizeof(sockaddr_in6);