Hi Eric, > I'm left wondering how this was not caught by the libc++ test > suite. The current toupper.c shouldn't pass > http://llvm.org/svn/llvm-project/libcxx/trunk/test/localization/locales/locale.convenience/conversions/conversions.character/toupper.pass.cpp
This test suite checks only popular characters. __mapupper_ext is used in case of special characters. For example, Turkish 'i' (0x0131) should convert 'I' (0x49). Regards, Kohji Okuno > Den 10/05/2012 kl. 12.03 skrev Dimitry Andric: > >> On 2012-05-10 11:02, Kohji Okuno wrote: >>> I think that libc/locale/toupper.c is mistaken. >>> Could you check it? >>> >>> @@ -51,7 +51,7 @@ ___toupper_l(c, l) >>> { >>> size_t lim; >>> FIX_LOCALE(l); >>> - _RuneRange *rr = &XLOCALE_CTYPE(l)->runes->__maplower_ext; >>> + _RuneRange *rr = &XLOCALE_CTYPE(l)->runes->__mapupper_ext; >>> _RuneEntry *base, *re; >>> >>> if (c < 0 || c == EOF) >> >> Yes, this definitely looks like a copy/paste error, introduced here: >> >> http://svnweb.freebsd.org/base/head/lib/libc/locale/toupper.c?r1=165903&r2=227753 >> >> I'll commit the fix tonight (CEST), if David isn't faster than me. :) > > I'm left wondering how this was not caught by the libc++ test suite. The > current toupper.c shouldn't pass > http://llvm.org/svn/llvm-project/libcxx/trunk/test/localization/locales/locale.convenience/conversions/conversions.character/toupper.pass.cpp > > Thanks, > Erik_______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org" _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"