89#if LASS_HAVE_FUNC_STRERROR_R
91 const size_t bufferLength = 256;
92 char buffer[bufferLength + 1];
94# if LASS_HAVE_STRERROR_R_CHAR_P
95 msg = ::strerror_r(errnum, buffer, bufferLength);
98 msg =
"[no error message due to strerror_r failure]";
101 const int rc = ::strerror_r(errnum, buffer, bufferLength);
102 msg = (rc == 0) ? buffer :
"[no error message due to strerror_r failure]";
106 msg =
"[no error message due to strerror_r failure]";
109#elif LASS_PLATFORM_TYPE == LASS_PLATFORM_TYPE_WIN32
111 const size_t bufferLength = 256;
112 char buffer[bufferLength + 1];
113 const errno_t rc = strerror_s(buffer, bufferLength, errnum);
114 msg = (rc == 0) ? buffer :
"[no error message due to strerror_s failure]";
118 std::ostringstream stream;
119 stream <<
"errno " << errnum;
122 stream <<
": " << msg;
153 0,
static_cast<DWORD
>(error), 0, (LPTSTR) &buffer, 0, 0))