From: Arran Cudbard-Bell Date: Thu, 10 Sep 2015 08:46:15 +0000 (+0100) Subject: Check we're building with GLIBC before assuming the GNU version of strerror_r is... X-Git-Tag: release_3_0_10~138 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=971fe354c9a3390ec9e8fd717a05a9fc0a60af79;p=thirdparty%2Ffreeradius-server.git Check we're building with GLIBC before assuming the GNU version of strerror_r is present Closes #1222 --- diff --git a/src/lib/log.c b/src/lib/log.c index 227b3a42d4d..b20948c0942 100644 --- a/src/lib/log.c +++ b/src/lib/log.c @@ -169,8 +169,8 @@ char const *fr_syserror(int num) /* * XSI-Compliant version */ -#if !defined(HAVE_FEATURES_H) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500) && ! _GNU_SOURCE) - if ((ret = strerror_r(num, buffer, (size_t) FR_STRERROR_BUFSIZE) != 0)) { +#if !defined(HAVE_FEATURES_H) || !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500) && ! _GNU_SOURCE) + if ((ret = strerror_r(num, buffer, (size_t)FR_STRERROR_BUFSIZE) != 0)) { # ifndef NDEBUG fprintf(stderr, "strerror_r() failed to write error for errno %i to buffer %p (%zu bytes), " "returned %i: %s\n", num, buffer, (size_t) FR_STRERROR_BUFSIZE, ret, strerror(ret)); @@ -187,7 +187,7 @@ char const *fr_syserror(int num) #else { char const *p; - p = strerror_r(num, buffer, (size_t) FR_STRERROR_BUFSIZE); + p = strerror_r(num, buffer, (size_t)FR_STRERROR_BUFSIZE); if (!p) { # ifndef NDEBUG fprintf(stderr, "strerror_r() failed to write error for errno %i to buffer %p "