@subheading stringprep_ucs4_to_utf8 @anchor{stringprep_ucs4_to_utf8} @deftypefun {char *} {stringprep_ucs4_to_utf8} (const uint32_t * @var{str}, ssize_t @var{len}, size_t * @var{items_read}, size_t * @var{items_written}) @var{str}: a UCS-4 encoded string @var{len}: the maximum length of @code{str} to use. If @code{len} < 0, then the string is terminated with a 0 character. @var{items_read}: location to store number of characters read read, or @code{NULL}. @var{items_written}: location to store number of bytes written or @code{NULL}. The value here stored does not include the trailing 0 byte. Convert a string from a 32-bit fixed width representation as UCS-4. to UTF-8. The result will be terminated with a 0 byte. @strong{Return value:} a pointer to a newly allocated UTF-8 string. This value must be freed with @code{free()}. If an error occurs, @code{NULL} will be returned and @code{error} set. @end deftypefun