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
|
||
|
}
|
||
|
|