Pointer to invalid multibyte sequence in mbsnrtowcs()
Igor Liferenko
igor.liferenko@gmail.com
Tue Dec 20 02:20:00 GMT 2016
Hi Michael,
> Output 1.2:
>
> status: 1
> Success
> ori=0x556497c29980
> new=0x556497c29983
POSIX says:
If the input buffer ends with an incomplete character, it is
unspecified whether conversion stops
at the end of the previous character (if any), or at the end of the
input buffer.
As we see from the output of Example 1.2, glibc adopter the former behavior.
But why *src was incremented by 3 to point past the end of the buffer
(from 0x556497c29980 to 0x556497c29983), not to the next multibyte
sequence to be converted (i.e., 0x556497c29982)?
Is this POSIX behavior (and thus mbsnrtowcs(3) should be updated) or
it is a bug?
Thanks,
Igor
More information about the Libc-help
mailing list