On 23.08.2016 23:53, Ngie Cooper (yaneurabeya) wrote: > >> On Aug 23, 2016, at 13:33, Andrey A. Chernov <a...@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.
signature.asc
Description: OpenPGP digital signature