changeset 13437:24728c5de40b

Use modern idiom for calloc() replacement.
author Bruno Haible <bruno@clisp.org>
date Tue, 22 Jun 2010 00:16:26 +0200
parents cb3c3063dacf
children 425a8899539e
files ChangeLog m4/calloc.m4 modules/calloc
diffstat 3 files changed, 34 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/m4/calloc.m4
+++ b/m4/calloc.m4
@@ -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 @@
 ])# 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 @@
 # 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
+])
--- a/modules/calloc
+++ b/modules/calloc
@@ -9,7 +9,7 @@
 calloc-posix
 
 configure.ac:
-AC_FUNC_CALLOC
+gl_FUNC_CALLOC_GNU
 
 Makefile.am: