Add GetErrorMessage().

This commit is contained in:
Jean-Baptiste Perrier
2021-01-25 14:02:55 +01:00
parent c2af9164d6
commit a32658beea

View File

@@ -21,11 +21,11 @@ static WSAData _wsaData;
* Even if dualstacking is enabled it's not possible to bind an Ipv4mappedIPv6 endpoint. windows limitation
*/
static String GetLastErrorMessage()
static String GetErrorMessage(int error)
{
wchar_t* s = nullptr;
FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
nullptr, WSAGetLastError(),
nullptr, error,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
reinterpret_cast<LPWSTR>(&s), 0, nullptr);
String str(s);
@@ -33,6 +33,11 @@ static String GetLastErrorMessage()
return str;
}
static String GetLastErrorMessage()
{
return GetErrorMessage(WSAGetLastError());
}
static int GetAddrSize(const sockaddr& addr)
{
return addr.sa_family == AF_INET6 ? sizeof sockaddr_in6 : sizeof sockaddr_in;