tgetaddrinfo: use sizeof() instead of hardcoding

OS like Haiku have a bigger sockaddr_in struct for legacy(?) reasons.
Using sizeof() should account for the different struct sizes.

(cherry picked from commit df32c45757)
This commit is contained in:
Leorize
2019-08-02 17:35:01 +07:00
committed by narimiran
parent ccc611e06d
commit 8a007cf4ca

View File

@@ -11,7 +11,7 @@ block DGRAM_UDP:
let aiList = getAddrInfo("127.0.0.1", 999.Port, AF_INET, SOCK_DGRAM, IPPROTO_UDP)
doAssert aiList != nil
doAssert aiList.ai_addr != nil
doAssert aiList.ai_addrlen == 16
doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in).SockLen
doAssert aiList.ai_next == nil
freeAddrInfo aiList
@@ -22,7 +22,7 @@ when defined(posix):
let aiList = getAddrInfo("127.0.0.1", 999.Port, AF_INET, SOCK_RAW, IPPROTO_ICMP)
doAssert aiList != nil
doAssert aiList.ai_addr != nil
doAssert aiList.ai_addrlen == 16
doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in).SockLen
doAssert aiList.ai_next == nil
freeAddrInfo aiList
@@ -31,6 +31,6 @@ when defined(posix):
let aiList = getAddrInfo("::1", 999.Port, AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)
doAssert aiList != nil
doAssert aiList.ai_addr != nil
doAssert aiList.ai_addrlen == 28
doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in6).SockLen
doAssert aiList.ai_next == nil
freeAddrInfo aiList