freebsd-dev/usr.bin/localedef
Baptiste Daroussin c7edf4fd0b localedef: Fix ctype dump (fixed wide spread errors)
This commit is from John Marino in dragonfly with the following commit log:

====
This was a CTYPE encoding error involving consecutive points of the same
ctype.  It was reported by myself to Illumos over a year ago but I was
unsure if it was only happening on BSD.  Given the cause, the bug is also
present on Illumos.

Basically, if consecutive points were of the exact same ctype, they would
be defined as a range regardless.  For example, all of these would be
considered equivalent:

  <A> ... <C>, <H>  (converts to <A> .. <H>)
  <A>, <B>, <H>     (converts to <A> .. <H>)
  <A>, <J> ... <H>  (converts to <A> .. <H>)

So all the points that shouldn't have been defined got "bridged" by the
extreme points.

The effects were recently reported to FreeBSD on PR 213013.  There are
countless places were the ctype flags are misdefined, so this is a major
fix that has to be MFC'd.
====

This reveals a bad change I did on the testsuite: while 0x07FF is a valid
unicode it is not used yet (reserved for future use)

PR:		213013
Submitted by:	marino@
Reported by:	Kurtis Rader <krader@skepticism.us>
Obtained from:	Dragonfly
MFC after:	1 month
2016-10-06 19:46:43 +00:00
..
charmap.c localedef(1): minor spelling fixes on comments. 2016-05-01 16:10:56 +00:00
collate.c localedef(1): make better use of calloc(3) arguments. 2016-09-14 16:47:17 +00:00
ctype.c localedef: Fix ctype dump (fixed wide spread errors) 2016-10-06 19:46:43 +00:00
localedef.1 Rewrite the histoty part 2015-11-07 21:07:40 +00:00
localedef.c Make bsd declaration static 2015-11-07 20:27:31 +00:00
localedef.h Fix build of localedef(1) on arm where wchar_t is an unsigned int 2015-11-07 22:57:00 +00:00
Makefile lower again the warnings and remove the pragmas unsupported by gcc 4.2.1 2015-11-08 22:23:21 +00:00
Makefile.depend DIRDEPS_BUILD: Regenerate without local dependencies. 2016-02-24 17:20:11 +00:00
messages.c
monetary.c lower again the warnings and remove the pragmas unsupported by gcc 4.2.1 2015-11-08 22:23:21 +00:00
numeric.c lower again the warnings and remove the pragmas unsupported by gcc 4.2.1 2015-11-08 22:23:21 +00:00
parser.y
README
scanner.c localedef(1): minor spelling fixes on comments. 2016-05-01 16:10:56 +00:00
time.c localedef(1): minor spelling fixes on comments. 2016-05-01 16:10:56 +00:00
wide.c Small typo. 2016-04-28 15:20:08 +00:00

While there are tools called "localedef" in Solaris and Linux, this
tool does not share heritage with any other implementation.  It was
written independently by Garrett D'Amore while employed at Nexenta
Systems, and thus carries the Nexenta Copyright.

It was initially released under the CDDL license, but on 4 July 2014,
Nexenta reissued the source under the BSD 2-clause license.  This
code is part of the Illumos project.

see:
https://github.com/Nexenta/illumos-nexenta/commit/cf17542a37fc83d0ae093777e30d480423858c29