From 842ac21893b96915a80b673657ee8718bdc6fc5e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 22 Jun 2010 00:16:26 +0200 Subject: [PATCH] Use modern idiom for calloc() replacement. --- ChangeLog | 11 +++++++++++ m4/calloc.m4 | 39 ++++++++++++++++++++++----------------- modules/calloc | 2 +- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index f923ed22be..fded4efd02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-06-21 Bruno Haible + + 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 Fix HAVE_REALLOC_POSIX misnomer. diff --git a/m4/calloc.m4 b/m4/calloc.m4 index 22cffbd65f..c93e84e97f 100644 --- 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 @@ 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 ]) diff --git a/modules/calloc b/modules/calloc index 52c9594a8f..07378b4e2e 100644 --- a/modules/calloc +++ b/modules/calloc @@ -9,7 +9,7 @@ Depends-on: calloc-posix configure.ac: -AC_FUNC_CALLOC +gl_FUNC_CALLOC_GNU Makefile.am: -- 2.30.2