#[unsafe(no_mangle)]
pub unsafe extern "C" fn decoder_decode_to_utf16_without_replacement(
decoder: *mut Decoder,
src: *const u8,
src_len: *mut usize,
dst: *mut u16,
dst_len: *mut usize,
last: bool,
) -> u32Expand description
Incrementally decode a byte stream into UTF-16 without replacement.
See the top-level FFI documentation for documentation for how the
decoder_decode_* functions are mapped from Rust and the documentation
for the Decoder struct for the semantics.
src must be non-NULL even if src_len is zero. Whensrc_len is zero,
it is OK for src to be something non-dereferencable, such as 0x1.
Likewise for dst when dst_len is zero. This is required due to Rust’s
optimization for slices within Option.
§Undefined behavior
UB ensues if any of the pointer arguments is NULL, src and src_len
don’t designate a valid block of memory or dst and dst_len don’t
designate a valid block of memory.