Synopsis
PDX_MSGT unl_UTF32Length(const UNL_CHAR32 *str, const UNL_CHAR32 *const end, size_t *const utf8_size, size_t *const utf16_size, size_t *const utf32_size)
Purpose
Computes the sizes for UTF-8, UTF-16, and UTF-32 sequences for the length of a UTF-32 string.
Description
Computes the sizes, how much memory is needed minus the null terminator, for UTF-8, UTF-16, and UTF-32 sequences for the length of a UTF-32 string.
Input
start
Start of UTF16 string to be processed.
end
If not NULL then this address is the end of the string else the end of the string is the first NULL character. Processing occurs from start until just before the end.
Output
utf8_size
Size, in bytes, needed for a UTF-8 string.
utf16_size
Size, in bytes, needed for a UTF-16 string. Always a multiple of 2.
utf32_size
Size, in bytes, needed for a UTF-32 string. Always a multiple of 4. This is also 4 times the number of codepoints.
Return
UNL_NOERR
No Error
UNL_CONVERSION_ERR
Low level error return
.fi