Use modern idiom for calloc() replacement.
authorBruno Haible <bruno@clisp.org>
Mon, 21 Jun 2010 22:16:26 +0000 (00:16 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 21 Jun 2010 22:16:41 +0000 (00:16 +0200)
ChangeLog
m4/calloc.m4
modules/calloc

index f923ed22bebe54228b535b62a89f42e2399ae294..fded4efd02971bcd719caa4ad812c4ee8f1c4c9a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Use modern idiom for calloc() replacement.
+       * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
+       AC_FUNC_CALLOC.
+       * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
+       Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
+       (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
+       HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
+       (gl_REPLACE_CALLOC): New macro.
+
 2010-06-21  Bruno Haible  <bruno@clisp.org>
 
        Fix HAVE_REALLOC_POSIX misnomer.
index 22cffbd65ffbb1556e2d65eac373942b5ec762d4..c93e84e97f0af43e7b8f7fa29fb5e9b5e2a60c0b 100644 (file)
@@ -1,4 +1,4 @@
-# calloc.m4 serial 9
+# calloc.m4 serial 10
 
 # Copyright (C) 2004-2010 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -27,20 +27,21 @@ AS_IF([test $ac_cv_func_calloc_0_nonnull = yes], [$1], [$2])
 ])# AC_FUNC_CALLOC
 
 
-# AC_FUNC_CALLOC
-# ---------------
+# gl_FUNC_CALLOC_GNU
+# ------------------
 # Report whether `calloc (0, 0)' is properly handled, and replace calloc if
 # needed.
-AC_DEFUN([AC_FUNC_CALLOC],
-[_AC_FUNC_CALLOC_IF(
-  [AC_DEFINE([HAVE_CALLOC], [1],
-             [Define to 1 if your system has a GNU libc compatible `calloc'
-              function, and to 0 otherwise.])],
-  [AC_DEFINE([HAVE_CALLOC], [0])
-   AC_LIBOBJ([calloc])
-   AC_DEFINE([calloc], [rpl_calloc],
-      [Define to rpl_calloc if the replacement function should be used.])])
-])# AC_FUNC_CALLOC
+AC_DEFUN([gl_FUNC_CALLOC_GNU],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  _AC_FUNC_CALLOC_IF(
+    [AC_DEFINE([HAVE_CALLOC], [1],
+               [Define to 1 if your system has a GNU libc compatible `calloc'
+                function, and to 0 otherwise.])],
+    [AC_DEFINE([HAVE_CALLOC], [0])
+     gl_REPLACE_CALLOC
+    ])
+])# gl_FUNC_CALLOC_GNU
 
 
 # gl_FUNC_CALLOC_POSIX
@@ -49,14 +50,18 @@ AC_DEFUN([AC_FUNC_CALLOC],
 # fails), and replace calloc if it is not.
 AC_DEFUN([gl_FUNC_CALLOC_POSIX],
 [
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
   if test $gl_cv_func_malloc_posix = yes; then
-    HAVE_CALLOC_POSIX=1
     AC_DEFINE([HAVE_CALLOC_POSIX], [1],
       [Define if the 'calloc' function is POSIX compliant.])
   else
-    AC_LIBOBJ([calloc])
-    HAVE_CALLOC_POSIX=0
+    gl_REPLACE_CALLOC
   fi
-  AC_SUBST([HAVE_CALLOC_POSIX])
+])
+
+AC_DEFUN([gl_REPLACE_CALLOC],
+[
+  AC_LIBOBJ([calloc])
+  HAVE_CALLOC_POSIX=0
 ])
index 52c9594a8f90017cb6fa87f5f11c237368a6a604..07378b4e2ef27c6bbb72fc9832b189c5ca22100b 100644 (file)
@@ -9,7 +9,7 @@ Depends-on:
 calloc-posix
 
 configure.ac:
-AC_FUNC_CALLOC
+gl_FUNC_CALLOC_GNU
 
 Makefile.am: