Thorsten Glaser wrote, on 12 Dec 2020: > > Geoff Clare via austin-group-l at The Open Group dixit: > > >since the standard requires the POSIX locale to have 256 valid > >single-byte characters. > > WTF, how is *that* supposed to be implemented? > > I guess I could use ASCII as the first half and map the other > 128 to U+EF80‥U+EFFF though (which I have reserved in CSUR for > this purpose but in a different scope)… not that _that_ would > be of much use…
The requirement is there to ensure mbtowc() doesn't ever fail with EILSEQ in the POSIX locale. I suppose for iconv() bytes greater than 127 should be treated as if there is no corresponding character in any other codeset. > I guess you found a bug in glibc then. Last I knew glibc doesn't conform to the requirement that mbtowc() never fails with EILSEQ in the POSIX locale. So it doesn't surprise me if iconv() has a similar non-conformance. -- Geoff Clare <[email protected]> The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England
