crypto/o_str.c: add _GNU_SOURCE strerror_r case.
authorAndy Polyakov <appro@openssl.org>
Fri, 27 May 2016 10:04:09 +0000 (12:04 +0200)
committerAndy Polyakov <appro@openssl.org>
Fri, 27 May 2016 21:02:56 +0000 (23:02 +0200)
Reviewed-by: Matt Caswell <matt@openssl.org>
crypto/o_str.c

index 4e2ef88e6139186ec4a95d3fba063e855708638c..b0e7524820ce4af5555f101ab7c5b00416482cf4 100644 (file)
@@ -263,7 +263,9 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen)
 {
 #if defined(_MSC_VER) && _MSC_VER>=1400
     return !strerror_s(buf, buflen, errnum);
-#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE
+#elif defined(_GNU_SOURCE)
+    return strerror_r(errnum, buf, buflen) != NULL;
+#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
     /*
      * We can use "real" strerror_r. The OpenSSL version differs in that it
      * gives 1 on success and 0 on failure for consistency with other OpenSSL