blob: c6035894ed974c18e1ecf3720c0ad8060753dd86 [file] [log] [blame]
Index: git/src/mongo/util/errno_util.cpp
===================================================================
--- git.orig/src/mongo/util/errno_util.cpp
+++ git/src/mongo/util/errno_util.cpp
@@ -49,6 +49,16 @@ const char kUnknownMsg[] = "Unknown erro
const int kBuflen = 256; // strerror strings in non-English locales can be large.
} // namespace
+inline char const * strerror_r_helper( char const * r, char const * )
+{
+ return r;
+}
+
+inline char const * strerror_r_helper( int r, char const * buffer )
+{
+ return r == 0? buffer: "Unknown error";
+}
+
std::string errnoWithDescription(int errNumber) {
#if defined(_WIN32)
if (errNumber == -1)
@@ -63,7 +73,7 @@ std::string errnoWithDescription(int err
#if defined(__GNUC__) && defined(_GNU_SOURCE) && \
(!defined(__ANDROID_API__) || !(__ANDROID_API__ <= 22)) && !defined(EMSCRIPTEN)
- msg = strerror_r(errNumber, buf, kBuflen);
+ msg = strerror_r_helper(strerror_r(errNumber, buf, kBuflen));
#elif defined(_WIN32)
LPWSTR errorText = nullptr;