]> Savannah Git Hosting - gnulib.git/commit
realloc-posix: realloc (..., 0) now returns nonnull
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 4 Nov 2024 06:41:41 +0000 (22:41 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Nov 2024 05:40:18 +0000 (21:40 -0800)
commitd884e6fc4a609dda5428fa84d19cb656d7e317f8
tree65c4aa67cc3f6a5f0cb0159e01b20408df2a939c
parent8835e92de4c0c75ccb183ff5ebdbb7db76cdc9c5
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.
12 files changed:
ChangeLog
doc/posix-functions/realloc.texi
doc/posix-functions/reallocarray.texi
lib/realloc.c
lib/reallocarray.c
m4/calloc.m4
m4/eealloc.m4
m4/realloc.m4
m4/reallocarray.m4
modules/eealloc
modules/realloc-posix
modules/reallocarray