Skip to main content

xmlLoadExternalEntity

Function xmlLoadExternalEntity 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xmlLoadExternalEntity( URL: *const c_char, ID: *const c_char, ctxt: *mut _xmlParserCtxt, ) -> *mut _xmlParserInput
Expand description

Load an external entity using the registered loader.

§UPSTREAM-PARITY

xmlParserInputPtr xmlLoadExternalEntity(const char *URL, const char *ID,
                                        xmlParserCtxtPtr ctxt);

§SAFETY

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

  • URL, ID must 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.