The mi_realloc() function
The mi_realloc() function reallocates a block of user memory to a specified size and returns a pointer to that block.
Syntax
void *mi_realloc(void *ptr, mi_integer size)
mi_integer size;
- ptr
- A pointer to a memory block.
- size
- The number of bytes to reallocate.
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
Yes | Yes |
Usage
The mi_realloc() function changes the size of user memory to the specified size, with the current default memory duration. If the ptr parameter is NULL, then mi_realloc() is a constructor function for user memory that behaves the same as mi_alloc().
The mi_realloc() function returns a pointer to the reallocated user memory. Cast this pointer to match the structure of the user-defined buffer or structure that you allocate. A DataBlade® API module can use mi_free() to free memory allocated by mi_realloc() when that memory is no longer needed.
For more information, see the discussion about how to allocate user memory in the Informix® DataBlade® API Programmer's Guide.
Return values
- A void pointer
- A pointer to the reallocated memory. Cast this pointer to match the user-defined buffer or structure for which the memory was allocated.
- NULL
- The function was unable to allocate the memory.
The mi_realloc() function does not throw an MI_Exception event when it encounters a runtime error. Therefore, it does not cause callbacks to start.