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. |