]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Check we're building with GLIBC before assuming the GNU version of strerror_r is...
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 10 Sep 2015 08:46:15 +0000 (09:46 +0100)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 10 Sep 2015 08:47:29 +0000 (09:47 +0100)
src/lib/log.c

index 227b3a42d4d0660059fca8b9405eb3f57ca13172..b20948c09427ba8a8b5b94649b5cc4e06f3ab867 100644 (file)
@@ -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 "