mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-03-04 03:55:51 +02:00
Revive this file -- to try out an experimental
version of AC_FUNC_STRERROR_R that may work even on BeOS, a system for which strerror does return char*, but which lacks a conveniently accessible declaration of the function.
This commit is contained in:
44
m4/strerror_r.m4
Normal file
44
m4/strerror_r.m4
Normal file
@@ -0,0 +1,44 @@
|
||||
#serial 1000
|
||||
# Experimental replacement for the function in the latest CVS autoconf.
|
||||
# Use with the error.c file in ../lib.
|
||||
|
||||
undefine([AC_FUNC_STRERROR_R])
|
||||
|
||||
# AC_FUNC_STRERROR_R
|
||||
# ------------------
|
||||
AC_DEFUN([AC_FUNC_STRERROR_R],
|
||||
[# Check strerror_r
|
||||
AC_CHECK_FUNCS([strerror_r])
|
||||
if test $ac_cv_func_strerror_r = yes; then
|
||||
AC_CHECK_HEADERS(string.h)
|
||||
AC_CHECK_DECLS([strerror_r])
|
||||
AC_CACHE_CHECK([for working strerror_r],
|
||||
ac_cv_func_strerror_r_works,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
# include <stdio.h>
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
# endif
|
||||
#ifndef HAVE_DECL_STRERROR_R
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRERROR_R
|
||||
char *strerror_r ();
|
||||
#endif
|
||||
],
|
||||
[
|
||||
char buf;
|
||||
char x = *strerror_r (0, &buf, sizeof buf);
|
||||
],
|
||||
ac_cv_func_strerror_r_works=yes,
|
||||
ac_cv_func_strerror_r_works=no
|
||||
)
|
||||
if test $ac_cv_func_strerror_r_works = yes; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_WORKING_STRERROR_R, 1,
|
||||
[Define to 1 if `strerror_r' returns a string.])
|
||||
fi
|
||||
])
|
||||
fi
|
||||
])# AC_FUNC_STRERROR_R
|
||||
Reference in New Issue
Block a user