Skip to main content

xsltSetGenericDebugFunc

Function xsltSetGenericDebugFunc 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xsltSetGenericDebugFunc( ctx: *mut c_void, handler: Option<unsafe extern "C" fn(*mut c_void, *const c_char)>, )
Expand description

Set the generic debug handler (upstream xsltSetGenericDebugFunc).

§UPSTREAM-PARITY

void xsltSetGenericDebugFunc(void *ctx, xmlGenericErrorFunc handler);

With a NULL handler, messages go to stderr; with a NULL context they are suppressed (upstream’s default debug handler checks the context).

§SAFETY

  • ctx must 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.

  • handler must be a valid callback (or None); the callback is invoked with the documented context pointer and must itself uphold the same pointer invariants.

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.