Mail Archives: djgpp-workers/2000/06/16/05:52:16
Hans-Bernhard Broeker wrote:
> EOF is supposed to be converted to WEOF. At the very least, that's what
> the conversion function, btowc(), is defined to do, by C99. Quoting
> the draft:
>
> [#3] The btowc returns WEOF if c has the value EOF or if
> (unsigned char)c does not constitute a valid (one-byte)
> multibyte character in the initial shift state. Otherwise,
> it returns the wide-character representation of that
> character.
>
> Summing up what I read in the (draft) C99 standard, WEOF behaves almost
> exactly the same as EOF, with the only exception that it is not required
> to be negative. And wint_t is for wchar_t what int is for unsigned char: a
> datatype large enough to hold any wide character, plus WEOF. The
> difference is that WEOF is allowed to be within the range of wchar_t, so
> wchar_t and wint_t can be the same.
Ahh, so it's easy to convert wint_t to unsigned and properly convert EOF
to WEOF. So maybe it's OK to change?
Laurynas
- Raw text -