svn commit: r304703 - head/include/xlocale
Andrey Chernov
ache at freebsd.org
Tue Aug 23 21:14:31 UTC 2016
On 23.08.2016 23:53, Ngie Cooper (yaneurabeya) wrote:
>
>> On Aug 23, 2016, at 13:33, Andrey A. Chernov <ache at FreeBSD.org> wrote:
>>
>> Author: ache
>> Date: Tue Aug 23 20:33:56 2016
>> New Revision: 304703
>> URL: https://svnweb.freebsd.org/changeset/base/304703
>>
>> Log:
>> LC_*_MASK bit shifting order was partially broken from the initial commit
>> time at year 2012. Only LC_COLLATE_MASK and LC_CTYPE_MASK are in the
>> right order.
>>
>> The order here should match XLC_* from "xlocale_private.h" which, in turn,
>> match LC_* publicly visible order from <locale.h> which determines how
>> locale components are stored in the structure.
>> LC_*_MASK -> XLC_* translation done as "ffs(mask) - 1" in the querylocale()
>> and equivalent shift loop in the newlocale(), so mapped to some wrong
>> components (excluding two mentioned above).
>>
>> Formally the fix is ABI breakage, but old code using those masks
>> never works properly in any case.
>> Only newlocale() and querylocale() are affected.
>>
>> MFC after: 7 days
>>
>> Modified:
>> head/include/xlocale/_locale.h
>
> Should __FreeBSD_version be bumped?
> Thanks,
> -Ngie
>
Yes, I'll do it later.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20160824/159a6c19/attachment.sig>
More information about the svn-src-head
mailing list