X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frealloc.m4;h=7695e89c852fb1cc57064d2e3caf85bbdcf8e971;hb=2238bc8f821ef84c53dc823a67b4326b0b211da1;hp=431ba5bb8ec5195523319adc229988a000c4eba2;hpb=e2b0600075186f7ebe7940c19078a645db4acae6;p=gnulib.git diff --git a/m4/realloc.m4 b/m4/realloc.m4 index 431ba5bb8..7695e89c8 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,18 +1,19 @@ -#serial 1 +#serial 6 dnl From Jim Meyering. dnl Determine whether realloc works when both arguments are 0. dnl If it doesn't, arrange to use the replacement function. dnl -dnl If you use this macro in a package, you should -dnl add the following two lines to acconfig.h: -dnl /* Define to rpl_realloc if the replacement function should be used. */ -dnl #undef realloc -dnl -AC_DEFUN(jm_FUNC_REALLOC, +AC_DEFUN([jm_FUNC_REALLOC], [ - AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc, + dnl xmalloc.c requires that this symbol be defined so it doesn't + dnl mistakenly use a broken realloc -- as it might if this test were omitted. + AC_DEFINE(HAVE_DONE_WORKING_REALLOC_CHECK, 1, + [Define if the realloc check has been performed. ]) + + AC_CACHE_CHECK([whether realloc(0,0) returns a non-NULL pointer], + jm_cv_func_working_realloc, [AC_TRY_RUN([ char *realloc (); int @@ -23,11 +24,12 @@ AC_DEFUN(jm_FUNC_REALLOC, ], jm_cv_func_working_realloc=yes, jm_cv_func_working_realloc=no, - dnl When crosscompiling, assume realloc is broken. + dnl When crosscompiling, assume realloc(0,0) returns NULL. jm_cv_func_working_realloc=no) ]) if test $jm_cv_func_working_realloc = no; then - LIBOBJS="$LIBOBJS realloc.o" - AC_DEFINE_UNQUOTED(realloc, rpl_realloc) + AC_LIBOBJ(realloc) + AC_DEFINE(realloc, rpl_realloc, + [Define to rpl_realloc if the replacement function should be used.]) fi ])