Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2012 13:41:17 +0200
From:      Erik Cederstrand <erik@cederstrand.dk>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        freebsd-current FreeBSD <freebsd-current@freebsd.org>, Kohji Okuno <okuno.kohji@jp.panasonic.com>
Subject:   Re: The current libc/locale/toupper.c is mistaken
Message-ID:  <59B6B059-ED46-4C1B-B72D-D6DFA906BFFB@cederstrand.dk>
In-Reply-To: <4FAB9289.8060808@FreeBSD.org>
References:  <20120510.180247.93202495593231609.okuno.kohji@jp.panasonic.com> <4FAB9289.8060808@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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?
>>=20
>> @@ -51,7 +51,7 @@ ___toupper_l(c, l)
>> {
>>        size_t lim;
>>        FIX_LOCALE(l);
>> -       _RuneRange *rr =3D &XLOCALE_CTYPE(l)->runes->__maplower_ext;
>> +       _RuneRange *rr =3D &XLOCALE_CTYPE(l)->runes->__mapupper_ext;
>>        _RuneEntry *base, *re;
>>=20
>>        if (c < 0 || c =3D=3D EOF)
>=20
> Yes, this definitely looks like a copy/paste error, introduced here:
>=20
> =
http://svnweb.freebsd.org/base/head/lib/libc/locale/toupper.c?r1=3D165903&=
r2=3D227753
>=20
> 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/lo=
cale.convenience/conversions/conversions.character/toupper.pass.cpp

Thanks,
Erik=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59B6B059-ED46-4C1B-B72D-D6DFA906BFFB>