Network/Socket: Fix IPv6 encoding
This commit is contained in:
parent
df510aeb78
commit
a5400f07c9
|
|
@ -218,9 +218,9 @@ namespace Nz
|
||||||
IpAddress::IPv6 address = ipAddress.ToIPv6();
|
IpAddress::IPv6 address = ipAddress.ToIPv6();
|
||||||
for (unsigned int i = 0; i < 8; ++i)
|
for (unsigned int i = 0; i < 8; ++i)
|
||||||
{
|
{
|
||||||
UInt16 networkOrder = htons(address[i]);
|
u_short addressPart = htons(address[i]);
|
||||||
socketAddress->sin6_addr.s6_addr[2 * i] = networkOrder / 256;
|
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = addressPart >> 0;
|
||||||
socketAddress->sin6_addr.s6_addr[2 * i + 1] = networkOrder % 256;
|
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = addressPart >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sizeof(sockaddr_in6);
|
return sizeof(sockaddr_in6);
|
||||||
|
|
|
||||||
|
|
@ -258,8 +258,9 @@ namespace Nz
|
||||||
IpAddress::IPv6 address = ipAddress.ToIPv6();
|
IpAddress::IPv6 address = ipAddress.ToIPv6();
|
||||||
for (unsigned int i = 0; i < 8; ++i)
|
for (unsigned int i = 0; i < 8; ++i)
|
||||||
{
|
{
|
||||||
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = htons(address[i]) >> 8;
|
u_short addressPart = htons(address[i]);
|
||||||
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = htons(address[i]) >> 0;
|
socketAddress->sin6_addr.s6_addr[i * 2 + 0] = addressPart >> 0;
|
||||||
|
socketAddress->sin6_addr.s6_addr[i * 2 + 1] = addressPart >> 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sizeof(sockaddr_in6);
|
return sizeof(sockaddr_in6);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue