> 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
signature.asc
Description: Message signed with OpenPGP using GPGMail