#[no_mangle]
pub unsafe extern "C" fn encoding_mem_copy_ascii_to_basic_latin(
src: *const u8,
src_len: usize,
dst: *mut u16,
dst_len: usize,
) -> usize
Expand description
Copies ASCII from source to destination zero-extending it to UTF-16 up to the first non-ASCII byte (or the end of the input if it is ASCII in its entirety).
The length of the destination buffer must be at least the length of the source buffer.
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
.)