30 lines
596 B
C
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
|
|
}
|
|
|