1#serial 5 2 3dnl From Jim Meyering. 4dnl Determine whether malloc accepts 0 as its argument. 5dnl If it doesn't, arrange to use the replacement function. 6dnl 7 8AC_DEFUN([jm_FUNC_MALLOC], 9[ 10 dnl xmalloc.c requires that this symbol be defined so it doesn't 11 dnl mistakenly use a broken malloc -- as it might if this test were omitted. 12 AC_DEFINE(HAVE_DONE_WORKING_MALLOC_CHECK, 1, 13 [Define if the malloc check has been performed. ]) 14 15 AC_CACHE_CHECK([for working malloc], jm_cv_func_working_malloc, 16 [AC_TRY_RUN([ 17 char *malloc (); 18 int 19 main () 20 { 21 exit (malloc (0) ? 0 : 1); 22 } 23 ], 24 jm_cv_func_working_malloc=yes, 25 jm_cv_func_working_malloc=no, 26 dnl When crosscompiling, assume malloc is broken. 27 jm_cv_func_working_malloc=no) 28 ]) 29 if test $jm_cv_func_working_malloc = no; then 30 AC_LIBOBJ(malloc) 31 AC_DEFINE(malloc, rpl_malloc, 32 [Define to rpl_malloc if the replacement function should be used.]) 33 fi 34]) 35