X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frealloc.m4;h=bfbef0c1652503b94734b6f6752c62e77a38aaeb;hb=d8cca1cf7cc76a83c9275b2446b5851af2ff1e80;hp=b4afe939d0e6fc04d3f35b7694bd6314a5650c84;hpb=47a93f77a5ec7f3515a06e91218626f01312c702;p=gnulib.git diff --git a/m4/realloc.m4 b/m4/realloc.m4 index b4afe939d..bfbef0c16 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,24 +1,24 @@ -#serial 1 +#serial 3 dnl From Jim Meyering. -dnl Determine whether realloc accepts 0 as its first argument. +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, [ + 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_UNQUOTED(HAVE_DONE_WORKING_REALLOC_CHECK, 1, + [Define if the realloc check has been performed. ]) + AC_CACHE_CHECK([for working realloc], jm_cv_func_working_realloc, [AC_TRY_RUN([ char *realloc (); int main () { - exit (realloc (0, 1) ? 0 : 1); + exit (realloc (0, 0) ? 0 : 1); } ], jm_cv_func_working_realloc=yes, @@ -27,7 +27,9 @@ AC_DEFUN(jm_FUNC_REALLOC, 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_SUBST(LIBOBJS) + LIBOBJS="$LIBOBJS realloc.$ac_objext" + AC_DEFINE_UNQUOTED(realloc, rpl_realloc, + [Define to rpl_realloc if the replacement function should be used.]) fi ])