void * H5resize_memory(
void *mem,
size_t size
)
H5resize_memory
takes a pointer to an existing buffer
and resizes the buffer to match the value in size
.
If necessary, the buffer is reallocated.
If size
is 0
, the buffer is released.
The input buffer must either be NULL
or have been allocated by H5allocate_memory
since the input buffer may be freed by the library.
For certain behaviors, the pointer mem
may be passed in as NULL
.
This function is intended to have the semantics of
realloc()
:
|
H5resize_memory(buffer, size)
|
Resizes buffer.
Returns pointer to resized buffer. |
|
H5resize_memory(NULL, size) |
Allocates memory using HDF5 Library allocator.
Returns pointer to new buffer |
|
H5resize_memory(buffer, 0) |
Frees memory using HDF5 Library allocator.
Returns NULL. |
|
H5resize_memory(NULL, 0) |
Returns NULL (undefined in C standard). |
realloc()
, which allows for a
“special” pointer to be returned instead of
NULL
, this function always returns NULL
on failure or when size
is 0
(zero).
At this time, the only intended use for this function
is to resize or reallocate memory that will be returned
to the library (and eventually to the user) as a data buffer
from a third-party HDF5 filter.
void *mem |
|
IN: Pointer to a buffer to be resized.
May be NULL . |
size_t size |
|
IN: New size of the buffer, in bytes |
NULL
if size
is 0
(zero).
NULL
on failure.Release | Change |
1.8.15 | C function introduced with this release. |