1
0
Fork 0
cuberite-2a/src/OSSupport/GetAddressInfoError.h

30 lines
596 B
C

#pragma once
/** Returns the readable form of a getaddressinfo type error code */
inline AString ErrorString(int a_ErrorCode)
{
// Note gai_strerror is not threadsafe on windows
#ifdef _WIN32
char ErrorStr[GAI_STRERROR_BUFFER_SIZE + 1];
int MsgLen = FormatMessageA(
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS |
FORMAT_MESSAGE_MAX_WIDTH_MASK,
nullptr,
a_ErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
ErrorStr,
sizeof(ErrorStr) - 1,
nullptr
);
return AString(ErrorStr, MsgLen);
#else
return gai_strerror(a_ErrorCode);
#endif
}