diff --git a/src/common/misc.cpp b/src/common/misc.cpp index 8dc54fb..bbd2516 100644 --- a/src/common/misc.cpp +++ b/src/common/misc.cpp @@ -19,9 +19,12 @@ std::string GetLastErrorMsg() { static const std::size_t buff_size = 255; char err_str[buff_size]; -#ifdef _WIN32 +#if defined(_WIN32) FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), err_str, buff_size, nullptr); +#elif defined(__GNUC__) + const char* err = strerror_r(errno, err_str, buff_size); + return std::string(err, strlen(err)); #else // Thread safe (XSI-compliant) strerror_r(errno, err_str, buff_size);