mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 23:46:15 +01:00
Fix detection and usage of strerror_r()
autoconf provides a macro for this situation, which saves us having to manually work out whether strerror_r() returns a char* or an int. https://bugzilla.gnome.org/show_bug.cgi?id=784000
This commit is contained in:
parent
bb50b70713
commit
c8e268bbce
@ -525,7 +525,8 @@ AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a
|
||||
# Checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2 issetugid)
|
||||
AC_CHECK_FUNCS(timegm gmtime_r strerror_r)
|
||||
AC_CHECK_FUNCS(timegm gmtime_r)
|
||||
AC_FUNC_STRERROR_R()
|
||||
|
||||
AC_CACHE_CHECK([for __libc_enable_secure], glib_cv_have_libc_enable_secure,
|
||||
[AC_TRY_LINK([#include <unistd.h>
|
||||
|
@ -1277,10 +1277,10 @@ g_strerror (gint errnum)
|
||||
msg = buf;
|
||||
#elif defined(HAVE_STRERROR_R)
|
||||
/* Match the condition in strerror_r(3) for glibc */
|
||||
# if defined(__GLIBC__) && !((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE)
|
||||
# if defined(STRERROR_R_CHAR_P)
|
||||
msg = strerror_r (errnum, buf, sizeof (buf));
|
||||
# else
|
||||
strerror_r (errnum, buf, sizeof (buf));
|
||||
(void) strerror_r (errnum, buf, sizeof (buf));
|
||||
msg = buf;
|
||||
# endif /* HAVE_STRERROR_R */
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user