A zero-length source string which consist of the null
terminating character should result in a zero-length
destination string which consist of the null
terminating character.
However, these functions return without setting the
null character in the destination string.
E.g.
If I have the following code:
wchar_t* src = L"\0";
char dest[4];
dest[0] = 'b'; dest[1] = 'a'; dest[2] = 'd';
dest[3] = '\0';
wcstou8s(dest, src, 1);
printf("Result: '%s'\n", dest);
the output I get is
Result: 'bad'
The output should be
Result: ''