table of contents
other sections
MALLOC(3) | Library Functions Manual | MALLOC(3) |
NAME¶
reallocf
—
general purpose memory allocation functions
LIBRARY¶
library “libbsd”SYNOPSIS¶
#include
<bsd/stdlib.h>
void *
reallocf
(void
*ptr, size_t
size);
DESCRIPTION¶
Thereallocf
() function changes the size of
the previously allocated memory referenced by
ptr to size
bytes. The contents of the memory are unchanged up to the lesser of the new
and old sizes. If the new size is larger, the contents of the newly allocated
portion of the memory are undefined. Upon success, the memory referenced by
ptr is freed and a pointer to the newly
allocated memory is returned. Note that
reallocf
() may move the memory allocation,
resulting in a different return value than
ptr. If ptr
is NULL
, the
reallocf
() function behaves identically to
malloc
() for the specified size. Upon
failure, when the requested memory cannot be allocated, the passed pointer is
freed to ease the problems with traditional coding styles for
reallocf
() causing memory leaks in
libraries.
RETURN VALUES¶
Thereallocf
() function returns a pointer,
possibly identical to ptr, to the allocated
memory if successful; otherwise a NULL
pointer is returned, and errno is set to
ENOMEM
if the error was the result of an
allocation failure. The buffer is deallocated in this case.
SEE ALSO¶
brk(2), mmap(2), alloca(3), calloc(3), free(3), malloc(3), posix_memalign(3), realloc(3),HISTORY¶
Thereallocf
() function first appeared in
FreeBSD 3.0.September 26, 2009 | Debian |