Hash :
d884e6fc
Author :
Date :
2024-11-03T22:41:41
realloc-posix: realloc (..., 0) now returns nonnull * lib/realloc.c (rpl_realloc): Simplify and tune by using HAVE_REALLOC_0_NONNULL and HAVE_MALLOC_PTRDIFF, and by having just one call to realloc instead of two. * lib/reallocarray.c (reallocarray): Simplify and tune by delegating the zero case to the revised realloc. * m4/eealloc.m4 (_AC_FUNC_REALLOC_IF): Since only eealloc uses this macro now, move its definition here ... * m4/realloc.m4: ... from here. (gl_FUNC_REALLOC_0_NONNULL): Also check that realloc (p, 0) returns nonnull. Require gl_FUNC_REALLOC_POSIX. Define HAVE_REALLOC_0_NONNULL. * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Also replace reallocarray if it returns a null pointer for size zero. * modules/eealloc (Files): Remove m4/realloc.m4. * modules/realloc-posix (Depends-on): Add extensions-aix. * modules/reallocarray (Files): Add m4/realloc.m4.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Description:
reallocarray function that is glibc compatible.
Files:
lib/reallocarray.c
m4/malloc.m4
m4/realloc.m4
m4/reallocarray.m4
Depends-on:
extensions
realloc-posix [test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1]
stdckdint [test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1]
stdlib
configure.ac:
gl_FUNC_REALLOCARRAY
gl_CONDITIONAL([GL_COND_OBJ_REALLOCARRAY],
[test $HAVE_REALLOCARRAY = 0 || test $REPLACE_REALLOCARRAY = 1])
AM_COND_IF([GL_COND_OBJ_REALLOCARRAY], [
gl_PREREQ_REALLOCARRAY
])
gl_MODULE_INDICATOR([reallocarray])
gl_STDLIB_MODULE_INDICATOR([reallocarray])
Makefile.am:
if GL_COND_OBJ_REALLOCARRAY
lib_SOURCES += reallocarray.c
endif
Include:
<stdlib.h>
License:
LGPLv2+
Maintainer:
all