X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Frealloc.m4;h=aba1984064f0c056523321703624bcd3109e0cdc;hb=727606d389becee323eafca6a8b03ed8219c1982;hp=b4afe939d0e6fc04d3f35b7694bd6314a5650c84;hpb=47a93f77a5ec7f3515a06e91218626f01312c702;p=gnulib.git diff --git a/m4/realloc.m4 b/m4/realloc.m4 index b4afe939d..aba198406 100644 --- a/m4/realloc.m4 +++ b/m4/realloc.m4 @@ -1,7 +1,7 @@ #serial 1 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 @@ -12,13 +12,24 @@ dnl AC_DEFUN(jm_FUNC_REALLOC, [ + if test x = y; then + dnl This code is deliberately never run via ./configure. + dnl FIXME: this is a gross hack to make autoheader put an entry + dnl for this symbol in config.h.in. + AC_CHECK_FUNCS(DONE_WORKING_REALLOC_CHECK) + fi + 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_kludge=HAVE_DONE_WORKING_REALLOC_CHECK + AC_DEFINE_UNQUOTED($ac_kludge) + 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,