Function SDL_realloc

pub unsafe extern "C" fn SDL_realloc(
    mem: *mut c_void,
    size: usize,
) -> *mut c_void
Available on crate feature dep_sdl3 only.
Expand description

Change the size of allocated memory.

The memory returned by this function must be freed with SDL_free().

If size is 0, it will be set to 1. Note that this is unlike some other C runtime realloc implementations, which may treat realloc(mem, 0) the same way as free(mem).

If mem is NULL, the behavior of this function is equivalent to SDL_malloc(). Otherwise, the function can have one of three possible outcomes:

  • If it returns the same pointer as mem, it means that mem was resized in place without freeing.
  • If it returns a different non-NULL pointer, it means that mem was freed and cannot be dereferenced anymore.
  • If it returns NULL (indicating failure), then mem will remain valid and must still be freed with SDL_free().

§Parameters

  • mem: a pointer to allocated memory to reallocate, or NULL.
  • size: the new size of the memory.

§Return value

Returns a pointer to the newly allocated memory, or NULL if allocation failed.

§Thread safety

It is safe to call this function from any thread.

§Availability

This function is available since SDL 3.2.0.

§See also