[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
new modules 'malloc-posix', 'realloc-posix', 'calloc-posix'
From: |
Bruno Haible |
Subject: |
new modules 'malloc-posix', 'realloc-posix', 'calloc-posix' |
Date: |
Sun, 9 Sep 2007 15:14:26 +0200 |
User-agent: |
KMail/1.5.4 |
Jim Meyering wrote:
> > So I propose to add three modules 'malloc-posix', 'realloc-posix',
> > 'calloc-posix' (using the '-posix' suffix that we already know from
> > 'fnmatch-posix'/'fnmatch-gnu' and 'printf-posix').
>
> I'm glad you've seen the light! :-)
I take this as an OK to the proposal, so I'm committing the change, likewise
for malloc and realloc, without the renaming of modules (for now).
2007-09-09 Bruno Haible <address@hidden>
* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
(gl_FUNC_MALLOC_POSIX): Require it.
* m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
* modules/realloc (Files): Add m4/malloc.m4.
* modules/calloc (Files): Likewise.
* modules/malloc-posix: New file.
* modules/malloc (Depends-on): Add malloc-posix.
* lib/malloc.c: Include errno.h.
(rpl_malloc): Merge the requirements of a glibc-compatible malloc
and a POSIX-compatible malloc into a single function. Set ENOMEM
when returning NULL.
* m4/malloc.m4: New file.
* doc/functions/malloc.texi: Mention the malloc-posix module.
* lib/stdlib_.h (malloc): New declaration.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
* modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
and HAVE_MALLOC_POSIX.
* modules/realloc-posix: New file.
* modules/realloc (Depends-on): Add realloc-posix.
* lib/realloc.c: Include errno.h.
(rpl_realloc): Merge the requirements of a glibc-compatible realloc
and a POSIX-compatible realloc into a single function. Set ENOMEM
when returning NULL.
* m4/realloc.m4: New file.
* doc/functions/realloc.texi: Mention the realloc-posix module.
* lib/stdlib_.h (realloc): New declaration.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
* modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
and HAVE_REALLOC_POSIX.
* modules/calloc-posix: New file.
* modules/calloc (Depends-on): Add calloc-posix.
* lib/calloc.c: Include errno.h.
(rpl_calloc): Merge the requirements of a glibc-compatible calloc
and a POSIX-compatible calloc into a single function. Set ENOMEM
when returning NULL.
* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
* doc/functions/calloc.texi: Mention the calloc-posix module.
* lib/stdlib_.h (calloc): New declaration.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
* modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
and HAVE_CALLOC_POSIX.
============================== modules/malloc-posix ========================
Description:
malloc() function: allocate memory with indefinite extent.
Files:
lib/malloc.c
m4/malloc.m4
Depends-on:
stdlib
configure.ac:
gl_FUNC_MALLOC_POSIX
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
Makefile.am:
Include:
<stdlib.h>
License:
LGPL
Maintainer:
Bruno Haible
============================== modules/realloc-posix =======================
Description:
realloc() function: allocate memory with indefinite extent.
Files:
lib/realloc.c
m4/realloc.m4
m4/malloc.m4
Depends-on:
stdlib
configure.ac:
gl_FUNC_REALLOC_POSIX
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
Makefile.am:
Include:
<stdlib.h>
License:
LGPL
Maintainer:
Bruno Haible
============================== modules/calloc-posix ========================
Description:
calloc() function: allocate memory with indefinite extent.
Files:
lib/calloc.c
m4/calloc.m4
m4/malloc.m4
Depends-on:
stdlib
configure.ac:
gl_FUNC_CALLOC_POSIX
gl_STDLIB_MODULE_INDICATOR([calloc-posix])
Makefile.am:
Include:
<stdlib.h>
License:
LGPL
Maintainer:
Bruno Haible
=============================== m4/malloc.m4 ===============================
# malloc.m4 serial 8
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# gl_FUNC_MALLOC_POSIX
# --------------------
# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
# fails), and replace malloc if it is not.
AC_DEFUN([gl_FUNC_MALLOC_POSIX],
[
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
if test $gl_cv_func_malloc_posix = yes; then
HAVE_MALLOC_POSIX=1
AC_DEFINE([HAVE_MALLOC_POSIX], 1,
[Define if the 'malloc' function is POSIX compliant.])
else
AC_LIBOBJ([malloc])
HAVE_MALLOC_POSIX=0
fi
AC_SUBST([HAVE_MALLOC_POSIX])
])
# Test whether malloc, realloc, calloc are POSIX compliant,
# Set gl_cv_func_malloc_posix to yes or no accordingly.
AC_DEFUN([gl_CHECK_MALLOC_POSIX],
[
AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
[gl_cv_func_malloc_posix],
[
dnl It is too dangerous to try to allocate a large amount of memory:
dnl some systems go to their knees when you do that. So assume that
dnl all Unix implementations of the function are POSIX compliant.
AC_TRY_COMPILE([],
[#if !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
choke me
#endif
], [gl_cv_func_malloc_posix=yes], [gl_cv_func_malloc_posix=no])
])
])
=============================== m4/realloc.m4 ==============================
# realloc.m4 serial 8
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# gl_FUNC_REALLOC_POSIX
# ---------------------
# Test whether 'realloc' is POSIX compliant (sets errno to ENOMEM when it
# fails), and replace realloc if it is not.
AC_DEFUN([gl_FUNC_REALLOC_POSIX],
[
AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
if test $gl_cv_func_malloc_posix = yes; then
HAVE_REALLOC_POSIX=1
AC_DEFINE([HAVE_REALLOC_POSIX], 1,
[Define if the 'realloc' function is POSIX compliant.])
else
AC_LIBOBJ([realloc])
HAVE_REALLOC_POSIX=0
fi
AC_SUBST([HAVE_REALLOC_POSIX])
])
============================================================================
*** doc/functions/malloc.texi 1 May 2007 15:11:38 -0000 1.1
--- doc/functions/malloc.texi 9 Sep 2007 13:01:44 -0000 1.2
***************
*** 4,13 ****
POSIX specification: @url{http://www.opengroup.org/susv3xsh/malloc.html}
! Gnulib module: ---
Portability problems fixed by Gnulib:
@itemize
@end itemize
Portability problems not fixed by Gnulib:
--- 4,17 ----
POSIX specification: @url{http://www.opengroup.org/susv3xsh/malloc.html}
! Gnulib module: malloc-posix
Portability problems fixed by Gnulib:
@itemize
+ @item
+ Upon failure, the function does not set @code{errno} to @code{ENOMEM} on
+ some platforms:
+ mingw.
@end itemize
Portability problems not fixed by Gnulib:
*** doc/functions/realloc.texi 1 May 2007 15:11:39 -0000 1.1
--- doc/functions/realloc.texi 9 Sep 2007 12:56:27 -0000 1.2
***************
*** 4,13 ****
POSIX specification: @url{http://www.opengroup.org/susv3xsh/realloc.html}
! Gnulib module: ---
Portability problems fixed by Gnulib:
@itemize
@end itemize
Portability problems not fixed by Gnulib:
--- 4,17 ----
POSIX specification: @url{http://www.opengroup.org/susv3xsh/realloc.html}
! Gnulib module: realloc-posix
Portability problems fixed by Gnulib:
@itemize
+ @item
+ Upon failure, the function does not set @code{errno} to @code{ENOMEM} on
+ some platforms:
+ mingw.
@end itemize
Portability problems not fixed by Gnulib:
*** doc/functions/calloc.texi 1 May 2007 15:11:37 -0000 1.1
--- doc/functions/calloc.texi 9 Sep 2007 12:29:38 -0000 1.2
***************
*** 4,13 ****
POSIX specification: @url{http://www.opengroup.org/susv3xsh/calloc.html}
! Gnulib module: ---
Portability problems fixed by Gnulib:
@itemize
@end itemize
Portability problems not fixed by Gnulib:
--- 4,17 ----
POSIX specification: @url{http://www.opengroup.org/susv3xsh/calloc.html}
! Gnulib module: calloc-posix
Portability problems fixed by Gnulib:
@itemize
+ @item
+ Upon failure, the function does not set @code{errno} to @code{ENOMEM} on
+ some platforms:
+ mingw.
@end itemize
Portability problems not fixed by Gnulib:
*** lib/malloc.c 13 Sep 2006 22:38:14 -0000 1.10
--- lib/malloc.c 9 Sep 2007 13:01:44 -0000 1.11
***************
*** 1,6 ****
/* malloc() function that is glibc compatible.
! Copyright (C) 1997, 1998, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- 1,6 ----
/* malloc() function that is glibc compatible.
! Copyright (C) 1997, 1998, 2006, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
***************
*** 16,35 ****
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering */
#include <config.h>
! #undef malloc
#include <stdlib.h>
/* Allocate an N-byte block of memory from the heap.
If N is zero, allocate a 1-byte block. */
void *
rpl_malloc (size_t n)
{
if (n == 0)
n = 1;
! return malloc (n);
}
--- 16,54 ----
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering and Bruno Haible */
#include <config.h>
! /* Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */
! #ifdef malloc
! # define NEED_MALLOC_GNU
! # undef malloc
! #endif
+ /* Specification. */
#include <stdlib.h>
+ #include <errno.h>
+
/* Allocate an N-byte block of memory from the heap.
If N is zero, allocate a 1-byte block. */
void *
rpl_malloc (size_t n)
{
+ void *result;
+
+ #ifdef NEED_MALLOC_GNU
if (n == 0)
n = 1;
! #endif
!
! result = malloc (n);
!
! #if !HAVE_MALLOC_POSIX
! if (result == NULL)
! errno = ENOMEM;
! #endif
!
! return result;
}
*** lib/realloc.c 13 Sep 2006 22:38:14 -0000 1.13
--- lib/realloc.c 9 Sep 2007 12:56:27 -0000 1.14
***************
*** 1,6 ****
/* realloc() function that is glibc compatible.
! Copyright (C) 1997, 2003, 2004, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- 1,6 ----
/* realloc() function that is glibc compatible.
! Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
***************
*** 16,28 ****
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering */
#include <config.h>
! #undef realloc
#include <stdlib.h>
/* Change the size of an allocated block of memory P to N bytes,
with error checking. If N is zero, change it to 1. If P is NULL,
use malloc. */
--- 16,35 ----
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering and Bruno Haible */
#include <config.h>
! /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */
! #ifdef realloc
! # define NEED_REALLOC_GNU
! # undef realloc
! #endif
+ /* Specification. */
#include <stdlib.h>
+ #include <errno.h>
+
/* Change the size of an allocated block of memory P to N bytes,
with error checking. If N is zero, change it to 1. If P is NULL,
use malloc. */
***************
*** 30,35 ****
--- 37,45 ----
void *
rpl_realloc (void *p, size_t n)
{
+ void *result;
+
+ #ifdef NEED_REALLOC_GNU
if (n == 0)
{
n = 1;
***************
*** 38,45 ****
free (p);
p = NULL;
}
! if (p == NULL)
! return malloc (n);
! return realloc (p, n);
}
--- 48,61 ----
free (p);
p = NULL;
}
+ #endif
+
+ result = (p == NULL ? malloc (n) : realloc (p, n));
+
+ #if !HAVE_REALLOC_POSIX
+ if (result == NULL)
+ errno = ENOMEM;
+ #endif
! return result;
}
*** lib/calloc.c 13 Sep 2006 22:38:14 -0000 1.6
--- lib/calloc.c 9 Sep 2007 12:29:38 -0000 1.7
***************
*** 1,6 ****
/* calloc() function that is glibc compatible.
! This wrapper function is required at least on Tru64 UNIX 5.1.
! Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- 1,6 ----
/* calloc() function that is glibc compatible.
! This wrapper function is required at least on Tru64 UNIX 5.1 and mingw.
! Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
***************
*** 16,44 ****
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering */
#include <config.h>
! #undef calloc
#include <stdlib.h>
/* Allocate and zero-fill an NxS-byte block of memory from the heap.
If N or S is zero, allocate and zero-fill a 1-byte block. */
void *
rpl_calloc (size_t n, size_t s)
{
! size_t bytes;
if (n == 0 || s == 0)
! return calloc (1, 1);
!
! /* Defend against buggy calloc implementations that mishandle
! size_t overflow. */
! bytes = n * s;
! if (bytes / s != n)
! return NULL;
! return calloc (n, s);
}
--- 16,68 ----
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
! /* written by Jim Meyering and Bruno Haible */
#include <config.h>
! /* Only the AC_FUNC_CALLOC macro defines 'calloc' already in config.h. */
! #ifdef calloc
! # define NEED_CALLOC_GNU
! # undef calloc
! #endif
+ /* Specification. */
#include <stdlib.h>
+ #include <errno.h>
+
/* Allocate and zero-fill an NxS-byte block of memory from the heap.
If N or S is zero, allocate and zero-fill a 1-byte block. */
void *
rpl_calloc (size_t n, size_t s)
{
! void *result;
+ #ifdef NEED_CALLOC_GNU
if (n == 0 || s == 0)
! {
! n = 1;
! s = 1;
! }
! else
! {
! /* Defend against buggy calloc implementations that mishandle
! size_t overflow. */
! size_t bytes = n * s;
! if (bytes / s != n)
! {
! errno = ENOMEM;
! return NULL;
! }
! }
! #endif
!
! result = calloc (n, s);
!
! #if !HAVE_CALLOC_POSIX
! if (result == NULL)
! errno = ENOMEM;
! #endif
! return result;
}
*** m4/calloc.m4 5 Jul 2006 23:35:19 -0000 1.6
--- m4/calloc.m4 9 Sep 2007 13:07:55 -0000 1.8
***************
*** 1,6 ****
! # calloc.m4 serial 6
! # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
--- 1,6 ----
! # calloc.m4 serial 7
! # Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
***************
*** 41,43 ****
--- 41,62 ----
AC_DEFINE([calloc], [rpl_calloc],
[Define to rpl_calloc if the replacement function should be used.])])
])# AC_FUNC_CALLOC
+
+
+ # gl_FUNC_CALLOC_POSIX
+ # --------------------
+ # Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it
+ # fails), and replace calloc if it is not.
+ AC_DEFUN([gl_FUNC_CALLOC_POSIX],
+ [
+ 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
+ fi
+ AC_SUBST([HAVE_CALLOC_POSIX])
+ ])
*** lib/stdlib_.h 21 Jun 2007 04:39:10 -0000 1.13
--- lib/stdlib_.h 9 Sep 2007 13:01:44 -0000 1.16
***************
*** 55,60 ****
--- 55,105 ----
#endif
+ #if @GNULIB_MALLOC_POSIX@
+ # if address@hidden@
+ # undef malloc
+ # define malloc rpl_malloc
+ extern void * malloc (size_t size);
+ # endif
+ #elif defined GNULIB_POSIXCHECK
+ # undef malloc
+ # define malloc(s) \
+ (GL_LINK_WARNING ("malloc is not POSIX compliant everywhere - " \
+ "use gnulib module malloc-posix for portability"), \
+ malloc (s))
+ #endif
+
+
+ #if @GNULIB_REALLOC_POSIX@
+ # if address@hidden@
+ # undef realloc
+ # define realloc rpl_realloc
+ extern void * realloc (void *ptr, size_t size);
+ # endif
+ #elif defined GNULIB_POSIXCHECK
+ # undef realloc
+ # define realloc(p,s) \
+ (GL_LINK_WARNING ("realloc is not POSIX compliant everywhere - " \
+ "use gnulib module realloc-posix for portability"), \
+ realloc (p, s))
+ #endif
+
+
+ #if @GNULIB_CALLOC_POSIX@
+ # if address@hidden@
+ # undef calloc
+ # define calloc rpl_calloc
+ extern void * calloc (size_t nmemb, size_t size);
+ # endif
+ #elif defined GNULIB_POSIXCHECK
+ # undef calloc
+ # define calloc(n,s) \
+ (GL_LINK_WARNING ("calloc is not POSIX compliant everywhere - " \
+ "use gnulib module calloc-posix for portability"), \
+ calloc (n, s))
+ #endif
+
+
#if @GNULIB_GETSUBOPT@
/* Assuming *OPTIONP is a comma separated list of elements of the form
"token" or "token=value", getsubopt parses the first of these elements.
*** m4/stdlib_h.m4 21 Jun 2007 04:39:10 -0000 1.3
--- m4/stdlib_h.m4 9 Sep 2007 13:01:45 -0000 1.6
***************
*** 1,4 ****
! # stdlib_h.m4 serial 2
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # stdlib_h.m4 serial 3
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 19,29 ****
AC_DEFUN([gl_STDLIB_H_DEFAULTS],
[
! GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
! GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
! GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
dnl Assume proper GNU behavior unless another module says otherwise.
! HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
! HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
! REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
])
--- 19,35 ----
AC_DEFUN([gl_STDLIB_H_DEFAULTS],
[
! GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
! GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
! GNULIB_CALLOC_POSIX=0; AC_SUBST([GNULIB_CALLOC_POSIX])
! GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
! GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
! GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
dnl Assume proper GNU behavior unless another module says otherwise.
! HAVE_CALLOC_POSIX=1; AC_SUBST([HAVE_CALLOC_POSIX])
! HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT])
! HAVE_MALLOC_POSIX=1; AC_SUBST([HAVE_MALLOC_POSIX])
! HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP])
! HAVE_REALLOC_POSIX=1; AC_SUBST([HAVE_REALLOC_POSIX])
! REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
])
*** modules/stdlib 21 Jun 2007 04:39:11 -0000 1.5
--- modules/stdlib 9 Sep 2007 13:01:44 -0000 1.8
***************
*** 23,33 ****
--- 23,39 ----
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
-e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
+ -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
+ -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
+ -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
+ -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
+ -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
+ -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/stdlib_.h; \
*** modules/calloc 13 Oct 2006 12:40:23 -0000 1.4
--- modules/calloc 9 Sep 2007 12:29:38 -0000 1.5
***************
*** 6,11 ****
--- 6,12 ----
m4/calloc.m4
Depends-on:
+ calloc-posix
configure.ac:
AC_FUNC_CALLOC
*** modules/malloc 16 Jul 2007 10:45:27 -0000 1.9
--- modules/malloc 9 Sep 2007 13:01:44 -0000 1.10
***************
*** 5,10 ****
--- 5,11 ----
lib/malloc.c
Depends-on:
+ malloc-posix
configure.ac:
AC_FUNC_MALLOC
*** modules/realloc 13 Oct 2006 12:40:23 -0000 1.8
--- modules/realloc 9 Sep 2007 12:56:27 -0000 1.9
***************
*** 5,10 ****
--- 5,11 ----
lib/realloc.c
Depends-on:
+ realloc-posix
configure.ac:
AC_FUNC_REALLOC
- Re: new module 'calloc-posix', (continued)
- Re: new module 'calloc-posix', Karl Berry, 2007/09/04
- Re: dealing with verbose programs (was: Re: new module 'calloc-posix'), Bruno Haible, 2007/09/04
- Re: dealing with verbose programs, Jim Meyering, 2007/09/05
- Re: dealing with verbose programs, Ben Pfaff, 2007/09/05
- Re: dealing with verbose programs, Jim Meyering, 2007/09/05
- Re: dealing with verbose programs, Ben Pfaff, 2007/09/05
- Re: dealing with verbose programs, Jim Meyering, 2007/09/05
- Re: dealing with verbose programs, Bruno Haible, 2007/09/05
gnulib-tool: new options --verbose, --quiet, Bruno Haible, 2007/09/09
gnulib-tool: new option --extract-notice, Bruno Haible, 2007/09/09
new modules 'malloc-posix', 'realloc-posix', 'calloc-posix',
Bruno Haible <=