#[unsafe(no_mangle)]pub unsafe extern "C" fn xmlReallocLoc(
ptr: *mut c_void,
size: usize,
file: *const c_char,
line: c_int,
) -> *mut c_voidExpand description
Reallocate memory, recording the allocation site (upstream xmlmemory.h).
void *xmlReallocLoc(void *ptr, size_t size, const char *file, int line);Debug-allocator contract (upstream xmlReallocLoc -> xmlMemRealloc): the old record is superseded on success, kept on failure.
ยงSAFETY
-
ptrmust be valid pointers (or NULL where the upstream C contract allows), obtained from the matching constructor/owner and not yet freed; the callee may take or keep ownership exactly as the C API specifies. -
filemust point to valid NUL-terminated strings (or NULL where the C contract allows) for the lifetime of the call.
The caller must not race this call with concurrent mutation of the same objects from other threads (per-object state is not internally synchronized). Violating any of the above is undefined behavior.
Exercised by the C-API differential courts (courts/suites/data-abi/*-family-probe.c) and the CLI differential courts; those pass byte-for-byte against the upstream oracle.