NAME
reallocarr
—
reallocate array
SYNOPSIS
#include
<stdlib.h>
int
reallocarr
(void *ptr,
size_t number, size_t size);
DESCRIPTION
Thereallocarr
function reallocates the memory in
*ptr.
RETURN VALUES
On successful completion, returns 0 and updates *ptr. Otherwise, an error code (see errno(2)) is returned and *ptr and the referenced memory is unmodified.
EXAMPLES
The following uses reallocarr
() to
initialize an array of INITSIZE integers, then resizes it to NEWSIZE
elements:
int *data = NULL; int ret = 0; ret = reallocarr(&data, INITSIZE, sizeof(*data)); if (ret) errc(1, ret, "reallocarr failed"); ret = reallocarr(&data, NEWSIZE, sizeof(*data)); if (ret) errc(1, ret, "reallocarr failed on resize");
SEE ALSO
HISTORY
reallocarr
first appeared in
NetBSD 7.0. OpenBSD
introduced the
reallocarray(3) function for the same purpose, but the
interface makes it difficult to correctly handle zero-sized allocations.