#[no_mangle]
pub unsafe extern "C" fn encoding_mem_convert_utf8_to_utf16(
src: *const u8,
src_len: usize,
dst: *mut u16,
dst_len: usize,
) -> usize
Expand description
Converts potentially-invalid UTF-8 to valid UTF-16 with errors replaced with the REPLACEMENT CHARACTER.
The length of the destination buffer must be at least the length of the source buffer plus one.
Returns the number of u16
s written.
§Panics
Panics if the destination buffer is shorter than stated above.
§Undefined behavior
UB ensues if src
and src_len
don’t designate a valid memory block, if
src
is NULL
, if dst
and dst_len
don’t designate a valid memory
block, if dst
is NULL
or if the two memory blocks overlap. (If
src_len
is 0
, src
may be bogus but still has to be non-NULL
and
aligned. Likewise for dst
and dst_len
.)