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? >>> >>> _at__at_ -51,7 +51,7 _at__at_ ___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_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Thu May 10 2012 - 23:42:50 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:26 UTC