#[unsafe(no_mangle)]pub const unsafe extern "C" fn xmlTextReaderPreservePattern(
reader: *mut XmlTextReader,
_pattern: *const xmlChar,
_namespaces: *mut *const xmlChar,
) -> c_intExpand description
int xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern, const xmlChar **namespaces).
The candidate preserves every node; returns 0 (documented divergence: pattern-based selective preservation is not tracked).
§SAFETY
-
readermust 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. -
_pattern,_namespacesmust 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.