git: collate 1/4: Add support for LC_COLLATE format "DragonFly 4.4" in libc

John Marino marino at crater.dragonflybsd.org
Tue Jul 28 16:42:02 PDT 2015


commit 16db8bacccdd40fd2daf6bf549d27237237b9fe1
Author: John Marino <draco at marino.st>
Date:   Tue Jul 28 21:25:23 2015 +0200

    collate 1/4: Add support for LC_COLLATE format "DragonFly 4.4" in libc
    
    The collate functions within libc have been using version 1 and 1.2 of the
    packed LC_COLLATE binary formats.  These were generated with the colldef
    tool, but the new LC_COLLATE files are going to be generated by the new
    localedef tool using CLDR POSIX files as input.  The DragonFly-flavored
    version of localedef identifies the format as "DragonFly 4.4".  Any
    LC_COLLATE file with a different version will simply not be loaded, and
    all LC* categories will get set to "C" (aka "POSIX") locale.
    
    This work is based off of Nexenta's contribution to Illumos (successor
    to OpenSolaris).  The integration with xlocale is my work though.
    
    The following commits will enable localedef tool, disable the colldef
    tool, add generated colldef directory, and finally remove colldef from
    base.

Summary of changes:
 include/limits.h                |   2 +-
 lib/libc/locale/Symbol.map      |   8 +-
 lib/libc/locale/collate.c       | 708 ++++++++++++++++++++++++++++------------
 lib/libc/locale/collate.h       | 101 ++++--
 lib/libc/locale/collcmp.c       |   9 +-
 lib/libc/locale/setrunelocale.c |   6 -
 lib/libc/string/strcoll.c       |  98 +++---
 lib/libc/string/strxfrm.c       |  68 ++--
 lib/libc/string/wcscoll.c       | 198 ++++++++---
 lib/libc/string/wcsxfrm.c       |  85 ++---
 10 files changed, 844 insertions(+), 439 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/16db8bacccdd40fd2daf6bf549d27237237b9fe1


-- 
DragonFly BSD source repository



More information about the Commits mailing list