[Date Prev][Date Next]
Re: Signedness issue in utf-8 code?
> That code is only in use when sizeof(wchar_t) >= 4. The C library
> standard mandates wchar_t to be integer, thus signed. If I promote
> 0x80000000 to 0x80000000LL, when sizeof(wchar_t) == 4, like in my case,
> the test will always be true, and the compiler will complain about the
> test always being true. Everything would be fine otherwise.
Now C90 compilers get to warn about long long instead.
With the new #if SIZEOF_WCHAR_T > 4, "if(wchar < (wchar_t)0x80000000UL)"
should be sufficient.