On Tue, Jul 07, 2015 at 09:25:30AM +0200, Sebastien Marie wrote: > Hi, > > _C_ctype_ (ctype) and _DefaultRuneLocale.rl_runetype (wctype) are > currently unsynced, resulting regress/lib/libc/locale/check_isw to > failed. > > The problem is _C_ctype_ (in gen/ctype_.c) and _DefaultRuneLocale (in > locale/runetable.c) define differently characters class for char >= 0x80. > > After checking with FreeBSD, NetBSD and DragonFlyBSD: OpenBSD is alone > to define something different from 0 for char >= 0x80 (outside 7bit > ASCII) in default configuration (which should be "C" or "POSIX").
Yes, the C locale should contain only ASCII. I must have missed this second table when I changed the default locale to ASCII from latin1. > Comments ? OK ? In my opinion we can remove these lines instead of using #if 0. > -- > Sebastien Marie > > Index: locale/runetable.c > =================================================================== > RCS file: /cvs/src/lib/libc/locale/runetable.c,v > retrieving revision 1.6 > diff -u -p -r1.6 runetable.c > --- locale/runetable.c 12 Apr 2015 20:18:41 -0000 1.6 > +++ locale/runetable.c 7 Jul 2015 06:39:47 -0000 > @@ -177,6 +177,7 @@ _RuneLocale _DefaultRuneLocale = { > _CTYPE_P|_CTYPE_R|_CTYPE_G|_CTYPE_SW1, > _CTYPE_P|_CTYPE_R|_CTYPE_G|_CTYPE_SW1, > _CTYPE_C, > +#if 0 > /*80*/ _CTYPE_C, > _CTYPE_C, > _CTYPE_C, > @@ -305,6 +306,7 @@ _RuneLocale _DefaultRuneLocale = { > _CTYPE_P|_CTYPE_R|_CTYPE_G|_CTYPE_SW1, > _CTYPE_P|_CTYPE_R|_CTYPE_G|_CTYPE_SW1, > _CTYPE_P|_CTYPE_R|_CTYPE_G|_CTYPE_SW1, > +#endif > }, > { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, > 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,