From 8e2a8c045c17de45e33b82249b75e6ee331a7eed Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Perrier Date: Mon, 25 Jan 2021 17:51:52 +0100 Subject: [PATCH] Get rid off getnameinfo. --- Source/Engine/Platform/Win32/Win32Network.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Platform/Win32/Win32Network.cpp b/Source/Engine/Platform/Win32/Win32Network.cpp index feaa3f6a0..48942f29b 100644 --- a/Source/Engine/Platform/Win32/Win32Network.cpp +++ b/Source/Engine/Platform/Win32/Win32Network.cpp @@ -67,12 +67,18 @@ static bool CreateEndPointFromAddr(sockaddr* addr, NetworkEndPoint& endPoint) } void* paddr; if (addr->sa_family == AF_INET6) + { paddr = &((sockaddr_in6*)addr)->sin6_addr; + port = ntohs(((sockaddr_in6*)addr)->sin6_port); + } else if (addr->sa_family == AF_INET) + { paddr = &((sockaddr_in*)addr)->sin_addr; + port = ntohs(((sockaddr_in*)addr)->sin_port); + } else { - LOG(Error, "Unable to create endpoint, sockaddr must be INET or INET6!"); + LOG(Error, "Unable to create endpoint, sockaddr must be INET or INET6! Family : {0}", addr->sa_family); return true; } @@ -83,7 +89,9 @@ static bool CreateEndPointFromAddr(sockaddr* addr, NetworkEndPoint& endPoint) return true; } endPoint.Address = String(ip); - endPoint.Port = String(service); + char strPort[6]; + _itoa(port, strPort, 10); + endPoint.Port = String(strPort); endPoint.IPVersion = GetIPVersionFromAddr(*addr); memcpy(endPoint.Data, addr, size); return false;