CVS commit: [perseant-stdc-iso10646] src/lib/libc/citrus
Module Name:src Committed By: perseant Date: Mon Jan 29 22:08:59 UTC 2018 Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: Makefile.inc citrus_trie.c citrus_trie.h src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_big5_k2u.h citrus_big5_u2k.h citrus_euc.c citrus_euc_k2u.h citrus_euc_u2k.h citrus_iso2022.c citrus_iso2022_k2u.h citrus_iso2022_u2k.h citrus_mskanji.c citrus_mskanji_k2u.h citrus_mskanji_u2k.h Log Message: Fix issues with trie implementation. Now passes the locale tests when __STDC_ISO_10646__ is defined, with the exception of tests requiring LC_COLLATE support. To generate a diff of this commit: cvs rdiff -u -r1.8.40.1 -r1.8.40.2 src/lib/libc/citrus/Makefile.inc cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/lib/libc/citrus/citrus_trie.c \ src/lib/libc/citrus/citrus_trie.h cvs rdiff -u -r1.15.18.4 -r1.15.18.5 \ src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r1.1.2.1 -r1.1.2.2 \ src/lib/libc/citrus/modules/citrus_big5_k2u.h \ src/lib/libc/citrus/modules/citrus_big5_u2k.h \ src/lib/libc/citrus/modules/citrus_euc_k2u.h \ src/lib/libc/citrus/modules/citrus_euc_u2k.h \ src/lib/libc/citrus/modules/citrus_iso2022_k2u.h \ src/lib/libc/citrus/modules/citrus_iso2022_u2k.h \ src/lib/libc/citrus/modules/citrus_mskanji_k2u.h \ src/lib/libc/citrus/modules/citrus_mskanji_u2k.h cvs rdiff -u -r1.17.20.4 -r1.17.20.5 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.23.22.4 -r1.23.22.5 \ src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.14.22.4 -r1.14.22.5 \ src/lib/libc/citrus/modules/citrus_mskanji.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [perseant-stdc-iso10646] src
Module Name:src Committed By: perseant Date: Tue Jan 23 03:12:11 UTC 2018 Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_ctype.h citrus_none.c src/tests/lib/libc/locale [perseant-stdc-iso10646]: t_toupper.c Log Message: Make the tests pass once more when __STDC_ISO_10646__ is not defined. To generate a diff of this commit: cvs rdiff -u -r1.3.22.2 -r1.3.22.3 src/lib/libc/citrus/citrus_ctype.h cvs rdiff -u -r1.22.2.2 -r1.22.2.3 src/lib/libc/citrus/citrus_none.c cvs rdiff -u -r1.1 -r1.1.4.1 src/tests/lib/libc/locale/t_toupper.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/citrus/citrus_ctype.h diff -u src/lib/libc/citrus/citrus_ctype.h:1.3.22.2 src/lib/libc/citrus/citrus_ctype.h:1.3.22.3 --- src/lib/libc/citrus/citrus_ctype.h:1.3.22.2 Mon Jul 31 04:23:35 2017 +++ src/lib/libc/citrus/citrus_ctype.h Tue Jan 23 03:12:11 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype.h,v 1.3.22.2 2017/07/31 04:23:35 perseant Exp $ */ +/* $NetBSD: citrus_ctype.h,v 1.3.22.3 2018/01/23 03:12:11 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -206,8 +206,8 @@ _citrus_ctype_kt2ucs(_citrus_ctype_t cc, } #else /* Define away the calls to these functions */ -#define _citrus_ctype_ucs2kt(cl, ktp, wc) do {} while (0) -#define _citrus_ctype_kt2ucs(cl, up, kt) do {} while (0) +#define _citrus_ctype_ucs2kt(cl, ktp, wc) do { *ktp = wc; } while (0) +#define _citrus_ctype_kt2ucs(cl, up, kt) do { *up = kt; } while (0) #endif extern _citrus_ctype_rec_t _citrus_ctype_default; Index: src/lib/libc/citrus/citrus_none.c diff -u src/lib/libc/citrus/citrus_none.c:1.22.2.2 src/lib/libc/citrus/citrus_none.c:1.22.2.3 --- src/lib/libc/citrus/citrus_none.c:1.22.2.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/citrus_none.c Tue Jan 23 03:12:11 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_none.c,v 1.22.2.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_none.c,v 1.22.2.3 2018/01/23 03:12:11 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_none.c,v 1.22.2.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_none.c,v 1.22.2.3 2018/01/23 03:12:11 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -493,6 +493,10 @@ _citrus_NONE_ctype_ucs2kt(void * __restr wchar_kuten_t * __restrict ktp, wchar_ucs4_t wc) { +#ifndef __STDC_ISO_10646__ + *ktp = wc; + return 0; +#else /* __STDC_ISO_10646__ */ struct _NONE_Info *nip = (struct _NONE_Info *)cl; struct unicode2kuten_lookup *uk = NULL; @@ -514,6 +518,7 @@ _citrus_NONE_ctype_ucs2kt(void * __restr else *ktp = WEOF; return 0; +#endif /* __STDC_ISO_10646__ */ } static int @@ -522,6 +527,10 @@ _citrus_NONE_ctype_kt2ucs(void * __restr wchar_ucs4_t * __restrict up, wchar_kuten_t kt) { +#ifndef __STDC_ISO_10646__ + *up = kt; + return 0; +#else /* __STDC_ISO_10646__ */ if (cl == NULL) { *up = kt; return 0; @@ -529,6 +538,7 @@ _citrus_NONE_ctype_kt2ucs(void * __restr *up = ((struct _NONE_Info *)cl)->forward[kt]; return 0; +#endif /* __STDC_ISO_10646__ */ } /* -- */ Index: src/tests/lib/libc/locale/t_toupper.c diff -u src/tests/lib/libc/locale/t_toupper.c:1.1 src/tests/lib/libc/locale/t_toupper.c:1.1.4.1 --- src/tests/lib/libc/locale/t_toupper.c:1.1 Tue May 30 02:11:03 2017 +++ src/tests/lib/libc/locale/t_toupper.c Tue Jan 23 03:12:11 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: t_toupper.c,v 1.1 2017/05/30 02:11:03 perseant Exp $ */ +/* $NetBSD: t_toupper.c,v 1.1.4.1 2018/01/23 03:12:11 perseant Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include __COPYRIGHT("@(#) Copyright (c) 2017\ The NetBSD Foundation, inc. All rights reserved."); -__RCSID("$NetBSD: t_toupper.c,v 1.1 2017/05/30 02:11:03 perseant Exp $"); +__RCSID("$NetBSD: t_toupper.c,v 1.1.4.1 2018/01/23 03:12:11 perseant Exp $"); #include #include @@ -71,6 +71,7 @@ h_swapcase(const struct test *t, int upp ATF_REQUIRE_STREQ(setlocale(LC_ALL, "C"), "C"); printf("Trying locale %s...\n", t->locale); ATF_REQUIRE(setlocale(LC_CTYPE, t->locale) != NULL); + printf("Using locale: %s\n", setlocale(LC_ALL, NULL)); for (i = 0; i < strlen(t->lower); i++) { printf("Comparing char %d, lower %2.2x, with upper %2.2x\n",
CVS commit: [perseant-stdc-iso10646] src/lib/libc/citrus
Module Name:src Committed By: perseant Date: Sun Jan 21 19:35:10 UTC 2018 Added Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_trie.c citrus_trie.h Log Message: Add files missing from previous commit To generate a diff of this commit: cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/citrus/citrus_trie.c \ src/lib/libc/citrus/citrus_trie.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Added files: Index: src/lib/libc/citrus/citrus_trie.c diff -u /dev/null src/lib/libc/citrus/citrus_trie.c:1.1.2.1 --- /dev/null Sun Jan 21 19:35:10 2018 +++ src/lib/libc/citrus/citrus_trie.c Sun Jan 21 19:35:10 2018 @@ -0,0 +1,404 @@ +#include "citrus_trie.h" +#ifdef DEBUG_TRIE +# include "modules/citrus_euc_data.h" +# include "citrus_trie_test.h" +#endif + +static void citrus_trie_dump_table_recursive(citrus_trie_node_t, size_t, FILE *, int); +static void citrus_trie_load_table_recursive(citrus_trie_node_t, size_t, FILE *); +static void citrus_trie_init_recursive(citrus_trie_node_t *, VALUE_TYPE *, int, int *, int *); + +citrus_trie_header_t +citrus_trie_create(unsigned int flags, size_t bitwidth, + size_t nlevels, size_t off, size_t len) +{ + citrus_trie_header_t h; + + h = (citrus_trie_header_t)malloc(sizeof(*h)); + h->th_flags = flags; + h->th_bitwidth = bitwidth; + h->th_bitmask = (1 << bitwidth) - 1; + h->th_off = off; + h->th_level = nlevels - 1; +#ifdef DEBUG_TRIE + h->th_size = sizeof(*h); +#endif + h->th_root = citrus_trie_node_create(h, h->th_level, len); + + return h; +} + +citrus_trie_node_t +citrus_trie_node_create(citrus_trie_header_t h, size_t level, size_t len) +{ + int i; + citrus_trie_node_t t; + + t = (citrus_trie_node_t)citrus_trie_malloc(h, sizeof(*t)); + t->tr_len = len; + if (len > 0) { + t->tr_u = (union citrus_trie_node_union *)citrus_trie_malloc(h, len * sizeof(*t->tr_u)); + if (level == 0) { + for (i = 0; i < len; i++) +t->tr_u[i].u_value = INVALID_VALUE; + } else { + for (i = 0; i < len; i++) +t->tr_u[i].u_child = NULL; + } + } else + t->tr_u = NULL; + + return t; +} + +int +citrus_trie_node_insert(citrus_trie_header_t h, citrus_trie_node_t t, size_t level, citrus_trie_key_t key, VALUE_TYPE value) +{ + size_t idx, i, olen; + + idx = (key >> (level * h->th_bitwidth)) & h->th_bitmask; + if (idx < h->th_off) + return EINVAL; + + idx -= h->th_off; + if (t->tr_len <= idx) { + olen = t->tr_len; + t->tr_len = idx + 1; +#ifdef DEBUG_TRIE + h->th_size += (t->tr_len - olen) * sizeof(*t->tr_u); +#endif + t->tr_u = (union citrus_trie_node_union *)realloc(t->tr_u, t->tr_len * sizeof(*t->tr_u)); + for (i = olen; i < t->tr_len; i++) { + if (level == 0) +t->tr_u[i].u_value = INVALID_VALUE; + else +t->tr_u[i].u_child = NULL; + } + } + + if (level == 0) { + t->tr_u[idx].u_value = value; + return 0; + } else { + if (t->tr_u[idx].u_child == NULL) + t->tr_u[idx].u_child = citrus_trie_node_create(h, level - 1, 0); + return citrus_trie_node_insert(h, t->tr_u[idx].u_child, level - 1, + key, value); + } +} + +int +citrus_trie_insert(citrus_trie_header_t h, citrus_trie_key_t key, VALUE_TYPE value) +{ + int r = citrus_trie_node_insert(h, h->th_root, h->th_level, key, value); +#ifdef DEBUG_TRIE + int c = citrus_trie_lookup(h, key); + if (c != value) + fprintf(stderr, "Error on insert: key %x expected %x got %x\n", (unsigned)key, value, c); +#endif + return r; +} + +VALUE_TYPE +citrus_trie_node_lookup(citrus_trie_header_t h, citrus_trie_node_t t, size_t level, citrus_trie_key_t key) +{ + size_t idx; + + idx = (key >> (level * h->th_bitwidth)) & h->th_bitmask; + if (idx < h->th_off) + return INVALID_VALUE; + + idx -= h->th_off; + if (idx >= t->tr_len) + return INVALID_VALUE; + + if (level == 0) { + return t->tr_u[idx].u_value; + } + return citrus_trie_node_lookup(h, t->tr_u[idx].u_child, level - 1, key); +} + +VALUE_TYPE +citrus_trie_lookup(citrus_trie_header_t h, citrus_trie_key_t key) +{ + return citrus_trie_node_lookup(h, h->th_root, h->th_level, key); +} + +/* + * Assume VALUE_TYPE flat[N][2]. + */ +citrus_trie_header_t +citrus_trie_create_from_flat(VALUE_TYPE *flat, size_t bitwidth, int count) { + VALUE_TYPE ne_key; + int i, j; + unsigned val; + citrus_trie_header_t h; + size_t bitmask = (1 << bitwidth) - 1; + size_t maxshift = (8 * sizeof(VALUE_TYPE)) / bitwidth; + size_t min = bitmask, max = 0, level = 0; + + /* Loop through every element to see what + level, off and len should be */ + for (i = 0; i < count; i++) { + ne_key = flat[i * 2]; + for (j = 0; j < maxshift; j++) { + val = (ne_key >> (j * bitwidth)) & bitmask; + if (level < j + 1 && val) +level = j + 1; + if (min > val) +min = val; + if (max < val) +max = val; + } + } + + h = citrus_trie_create(0x0, bitwidth, level, min, max - min + 1); + + /* Now add every value */ + for (i = 0; i < count; i++) { + ne_key = flat[i * 2]; + + citrus_trie_insert(h, ne_key, flat[i * 2
CVS commit: [perseant-stdc-iso10646] src
Module Name:src Committed By: perseant Date: Sat Jan 20 19:36:29 UTC 2018 Modified Files: src/include [perseant-stdc-iso10646]: wchar.h src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_lc_collate.c src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_euc.c citrus_iso2022.c citrus_mskanji.c src/lib/libc/locale [perseant-stdc-iso10646]: collate.h collate_locale.c ducet_collation_data.h unicode_ucd.c src/tools [perseant-stdc-iso10646]: Makefile src/usr.bin/localedef [perseant-stdc-iso10646]: Makefile collate.c Added Files: src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5_k2u.h citrus_big5_u2k.h citrus_euc_k2u.h citrus_euc_u2k.h citrus_iso2022_k2u.h citrus_iso2022_u2k.h citrus_mskanji_k2u.h citrus_mskanji_u2k.h Removed Files: src/usr.bin/localedef [perseant-stdc-iso10646]: localedef parser.c parser.h Log Message: Use multilevel tables (tries) to convert kuten <-> unicode. Get rid of dchains, replace with chain/rchain conversions through keys allocated from the PUA. To generate a diff of this commit: cvs rdiff -u -r1.42.8.1 -r1.42.8.2 src/include/wchar.h cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/lib/libc/citrus/citrus_lc_collate.c cvs rdiff -u -r1.15.18.3 -r1.15.18.4 \ src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/citrus/modules/citrus_big5_k2u.h \ src/lib/libc/citrus/modules/citrus_big5_u2k.h \ src/lib/libc/citrus/modules/citrus_euc_k2u.h \ src/lib/libc/citrus/modules/citrus_euc_u2k.h \ src/lib/libc/citrus/modules/citrus_iso2022_k2u.h \ src/lib/libc/citrus/modules/citrus_iso2022_u2k.h \ src/lib/libc/citrus/modules/citrus_mskanji_k2u.h \ src/lib/libc/citrus/modules/citrus_mskanji_u2k.h cvs rdiff -u -r1.17.20.3 -r1.17.20.4 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.23.22.3 -r1.23.22.4 \ src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.14.22.3 -r1.14.22.4 \ src/lib/libc/citrus/modules/citrus_mskanji.c cvs rdiff -u -r1.1.40.1 -r1.1.40.2 src/lib/libc/locale/collate.h cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/lib/libc/locale/collate_locale.c \ src/lib/libc/locale/unicode_ucd.c cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/lib/libc/locale/ducet_collation_data.h cvs rdiff -u -r1.191 -r1.191.2.1 src/tools/Makefile cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/usr.bin/localedef/Makefile \ src/usr.bin/localedef/collate.c cvs rdiff -u -r1.1.2.1 -r0 src/usr.bin/localedef/localedef \ src/usr.bin/localedef/parser.c src/usr.bin/localedef/parser.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [perseant-stdc-iso10646] src
Module Name:src Committed By: perseant Date: Mon Aug 7 14:27:11 UTC 2017 Modified Files: src/lib/libc/locale [perseant-stdc-iso10646]: _wctrans_local.h rune.c src/usr.bin [perseant-stdc-iso10646]: Makefile Log Message: Make it compile again when __STDC_ISO_10646__ is not defined. To generate a diff of this commit: cvs rdiff -u -r1.9.40.1 -r1.9.40.2 src/lib/libc/locale/_wctrans_local.h cvs rdiff -u -r1.46.22.2 -r1.46.22.3 src/lib/libc/locale/rune.c cvs rdiff -u -r1.229 -r1.229.4.1 src/usr.bin/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/locale/_wctrans_local.h diff -u src/lib/libc/locale/_wctrans_local.h:1.9.40.1 src/lib/libc/locale/_wctrans_local.h:1.9.40.2 --- src/lib/libc/locale/_wctrans_local.h:1.9.40.1 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/locale/_wctrans_local.h Mon Aug 7 14:27:11 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: _wctrans_local.h,v 1.9.40.1 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: _wctrans_local.h,v 1.9.40.2 2017/08/07 14:27:11 perseant Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -40,7 +40,7 @@ __END_DECLS static __inline wint_t _towctrans_priv(wint_ucs4_t c, _WCTransEntry const *te, const _RuneLocale *rl) { - wint_kuten_t ktc; + wint_kuten_t ktc = 0; _citrus_ctype_ucs2kt(rl->rl_citrus_ctype, , c); ktc = (_RUNE_ISCACHED(ktc) Index: src/lib/libc/locale/rune.c diff -u src/lib/libc/locale/rune.c:1.46.22.2 src/lib/libc/locale/rune.c:1.46.22.3 --- src/lib/libc/locale/rune.c:1.46.22.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/locale/rune.c Mon Aug 7 14:27:11 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: rune.c,v 1.46.22.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: rune.c,v 1.46.22.3 2017/08/07 14:27:11 perseant Exp $ */ /*- * Copyright (c)2010 Citrus Project, * All rights reserved. @@ -312,12 +312,10 @@ do { \ #define CONVERT_MAP(name) \ do { \ - wint_ucs4_t map; \ - wint_kuten_t kmap; \ + wint_kuten_t map; \ int c;\ \ map = _towctrans_priv(wc, _wctrans_##name(rl), rl); \ - _citrus_ctype_ucs2kt(rl->rl_citrus_ctype, , map); \ if (map == wc || (_citrus_ctype_wctob(rl->rl_citrus_ctype, \ map, ) || c == EOF)) \ c = i; \ Index: src/usr.bin/Makefile diff -u src/usr.bin/Makefile:1.229 src/usr.bin/Makefile:1.229.4.1 --- src/usr.bin/Makefile:1.229 Sun May 21 15:28:42 2017 +++ src/usr.bin/Makefile Mon Aug 7 14:27:11 2017 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.229 2017/05/21 15:28:42 riastradh Exp $ +# $NetBSD: Makefile,v 1.229.4.1 2017/08/07 14:27:11 perseant Exp $ # from: @(#)Makefile 8.3 (Berkeley) 1/7/94 .include @@ -15,7 +15,7 @@ SUBDIR= apply asa at audio audiocfg \ getopt gettext gprof \ head hexdump iconv id indent infocmp innetgr ipcrm ipcs join jot \ kdump ktrace ktruss lam last lastcomm ldd leave \ - locale locate lock logger login logname look lorder m4 \ + locale localedef locate lock logger login logname look lorder m4 \ machine mail make man menuc mesg midiplay midirecord mixerctl \ mkcsmapper mkdep mkesdb mkfifo mklocale mkstr mktemp mkubootimage \ moduli msgc msgs \
CVS commit: [perseant-stdc-iso10646] src/usr.bin/localedef
Module Name:src Committed By: wiz Date: Sat Aug 5 20:30:41 UTC 2017 Modified Files: src/usr.bin/localedef [perseant-stdc-iso10646]: localedef.1 Log Message: Sort; simplify; new sentence, new line; fix typo. To generate a diff of this commit: cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/usr.bin/localedef/localedef.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/localedef/localedef.1 diff -u src/usr.bin/localedef/localedef.1:1.1.2.1 src/usr.bin/localedef/localedef.1:1.1.2.2 --- src/usr.bin/localedef/localedef.1:1.1.2.1 Fri Aug 4 21:43:11 2017 +++ src/usr.bin/localedef/localedef.1 Sat Aug 5 20:30:41 2017 @@ -1,3 +1,5 @@ +.\" $NetBSD: localedef.1,v 1.1.2.2 2017/08/05 20:30:41 wiz Exp $ +.\" .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved .\" Portions Copyright 2013 DEY Storage Systems, Inc. @@ -71,6 +73,8 @@ The following categories are supported: Defines character classification and case conversion. .It Ev LC_COLLATE Defines collation rules. +.It Ev LC_MESSAGES +Defines the format and values of affirmative and negative responses. .It Ev LC_MONETARY Defines the format and symbols used in formatting of monetary information. .It Ev LC_NUMERIC @@ -78,8 +82,6 @@ Defines the decimal delimiter, grouping numeric editing. .It Ev LC_TIME Defines the format and content of date and time information. -.It Ev LC_MESSAGES -Defines the format and values of affirmative and negative responses. .El .Pp The following options are supported: @@ -112,17 +114,18 @@ option is not present, the default chara The path name of a file containing the source definitions. If this option is not present, source definitions will be read from standard input. +.It Fl U +Ignore the presence of character symbols that have no matching character +definition. +This facilitates the use of a common locale definition file +to be used across multiple encodings, even when some symbols are not +present in a given encoding. .It Fl u Ar codeset Specifies the name of a codeset used as the target mapping of character symbols and collating element symbols whose encoding values are defined in terms of the ISO/IEC 10646-1:2000 standard position constant values. See .Sx NOTES . -.It Fl U -Ignore the presence of character symbols that have no matching character -definition. This facilitates the use of a common locale definition file -to be used across multiple encodings, even when some symbols are not -present in a given encoding. .It Fl v Emit verbose debugging output on standard output. .It Fl w Ar widthfile @@ -151,10 +154,9 @@ belonging to the same locale can be proc .Nm creates a directory of files that represents the locale's data, unless instructed otherwise by the -.Fl D ( -BSD -output) option. -The contants of this directory should generally be copied into the +.Fl D +(BSD output) option. +The contents of this directory should generally be copied into the appropriate subdirectory of .Pa /usr/share/locale in order the definitions to be visible to programs linked with libc. @@ -170,7 +172,7 @@ execution of .Ev LC_CTYPE , .Ev LC_MESSAGES , .Ev LC_MONETARY , -.Ev LC_MUMERIC , +.Ev LC_NUMERIC , .Ev LC_TIME , and .Ev NLSPATH .
CVS commit: [perseant-stdc-iso10646] src/lib/libc/locale
Module Name:src Committed By: perseant Date: Tue Aug 1 19:35:51 UTC 2017 Added Files: src/lib/libc/locale [perseant-stdc-iso10646]: collate.h ducet_collation_data.h unicode_dm_data.h Log Message: Add files missing from last commit (commitid: 7B1ZL3FMi0tUSk1A): Support loading collation data from file. Began with FreeBSD's xlocale_collate, but had to change it somewhat to accommodate the requirements of the Unicode Collation Algorithm (in particular, there are maps from single-character collation elements to multiple collation weight vectors, and multiple-to-multiple mappings as well). To generate a diff of this commit: cvs rdiff -u -r0 -r1.1.40.1 src/lib/libc/locale/collate.h cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/locale/ducet_collation_data.h \ src/lib/libc/locale/unicode_dm_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [perseant-stdc-iso10646] src/lib/libc
Module Name:src Committed By: perseant Date: Mon Jul 31 04:29:50 UTC 2017 Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_lc_collate.c src/lib/libc/locale [perseant-stdc-iso10646]: collate_local.h collate_locale.c unicode_collate.c unicode_nfd_qc_data.h unicode_ucd.c unicode_ucd.h Log Message: Support loading collation data from file. Began with FreeBSD's xlocale_collate, but had to change it somewhat to accommodate the requirements of the Unicode Collation Algorithm (in particular, there are maps from single-character collation elements to multiple collation weight vectors, and multiple-to-multiple mappings as well). To generate a diff of this commit: cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/lib/libc/citrus/citrus_lc_collate.c cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/lib/libc/locale/collate_local.h \ src/lib/libc/locale/collate_locale.c \ src/lib/libc/locale/unicode_collate.c \ src/lib/libc/locale/unicode_nfd_qc_data.h \ src/lib/libc/locale/unicode_ucd.c src/lib/libc/locale/unicode_ucd.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/citrus/citrus_lc_collate.c diff -u src/lib/libc/citrus/citrus_lc_collate.c:1.1.2.1 src/lib/libc/citrus/citrus_lc_collate.c:1.1.2.2 --- src/lib/libc/citrus/citrus_lc_collate.c:1.1.2.1 Fri Jul 14 15:53:07 2017 +++ src/lib/libc/citrus/citrus_lc_collate.c Mon Jul 31 04:29:50 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_lc_collate.c,v 1.1.2.1 2017/07/14 15:53:07 perseant Exp $ */ +/* $NetBSD: citrus_lc_collate.c,v 1.1.2.2 2017/07/31 04:29:50 perseant Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_lc_collate.c,v 1.1.2.1 2017/07/14 15:53:07 perseant Exp $"); +__RCSID("$NetBSD: citrus_lc_collate.c,v 1.1.2.2 2017/07/31 04:29:50 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include "reentrant.h" @@ -65,13 +65,13 @@ __RCSID("$NetBSD: citrus_lc_collate.c,v /* * macro required by nb_lc_template(_decl).h */ -#define _CATEGORY_TYPE _CollateLocale +#define _CATEGORY_TYPE struct xlocale_collate #include "nb_lc_template_decl.h" static int _citrus_LC_COLLATE_create_impl(const char * __restrict root, -const char * __restrict name, _CollateLocale ** __restrict pdata) +const char * __restrict name, struct xlocale_collate ** __restrict pdata) { char path[PATH_MAX + 1]; int ret; @@ -92,7 +92,7 @@ _citrus_LC_COLLATE_create_impl(const cha } static __inline void -_PREFIX(update_global)(_CollateLocale *data) +_PREFIX(update_global)(struct xlocale_collate *data) { _DIAGASSERT(data != NULL); } Index: src/lib/libc/locale/collate_local.h diff -u src/lib/libc/locale/collate_local.h:1.1.2.1 src/lib/libc/locale/collate_local.h:1.1.2.2 --- src/lib/libc/locale/collate_local.h:1.1.2.1 Fri Jul 14 15:53:08 2017 +++ src/lib/libc/locale/collate_local.h Mon Jul 31 04:29:50 2017 @@ -1,26 +1,45 @@ -/* $NetBSD: collate_local.h,v 1.1.2.1 2017/07/14 15:53:08 perseant Exp $ */ +/* $NetBSD: collate_local.h,v 1.1.2.2 2017/07/31 04:29:50 perseant Exp $ */ #ifndef _COLLATE_LOCAL_H_ #define _COLLATE_LOCAL_H_ #include +#include "collate.h" #include "unicode_ucd.h" typedef struct _CollateLocale { void *coll_variable; size_t coll_variable_len; - struct ucd_coll *coll_data; + struct ucd_coll*coll_data; /* XXX obsolescent */ size_t coll_data_len; + const struct _FileCollateLocale *coll_fcl; +#define coll_collinfo coll_fcl->fcl_collinfo +#define coll_char_data coll_fcl->fcl_char_data + const collate_subst_t *coll_subst; + const collate_chain_t *coll_chains; + const collate_large_t *coll_large; } _CollateLocale; +typedef struct _FileCollateLocale { + collate_info_t fcl_collinfo; + collate_char_t fcl_char_data[0x100]; +/* +These fields are variable length (perhaps 0) + and follow the previous fields in the file: + collate_chain_t *chains; + collate_large_t *large; + collate_subst_t *subst; +*/ +} _FileCollateLocale; + /* * global variables */ -extern __dso_hidden const _CollateLocale _DefaultCollateLocale; +extern __dso_hidden const struct xlocale_collate _DefaultCollateLocale; __BEGIN_DECLS -int _collate_load(const char * __restrict, size_t, _CollateLocale ** __restrict); +int _collate_load(const char * __restrict, size_t, struct xlocale_collate ** __restrict); __END_DECLS #endif /* !_COLLATE_LOCAL_H_ */ Index: src/lib/libc/locale/collate_locale.c diff -u src/lib/libc/locale/collate_locale.c:1.1.2.1 src/lib/libc/locale/collate_locale.c:1.1.2.2 --- src/lib/libc/locale/collate_locale.c:1.1.2.1 Fri Jul 14 15:53:08 2017 +++ src/lib/libc/locale/collate_locale.c Mon Jul 31 04:29:50 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: collate_locale.c,v 1.1.2.1 2017/07/14 15:53:08 perseant Exp $ */ +/* $NetBSD: collate_locale.c,v 1.1.2.2
CVS commit: [perseant-stdc-iso10646] src/lib/libc/citrus
Module Name:src Committed By: perseant Date: Mon Jul 31 04:23:35 UTC 2017 Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_ctype.h citrus_ctype_template.h src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_euc.c citrus_iso2022.c citrus_mskanji.c Log Message: Make the compilation conditional on __STDC_ISO_10646__, so that applications that need one of the East Asian locales but don't want __STDC_ISO_10646__ don't have to pay the penalty for it. To generate a diff of this commit: cvs rdiff -u -r1.3.22.1 -r1.3.22.2 src/lib/libc/citrus/citrus_ctype.h cvs rdiff -u -r1.36.22.1 -r1.36.22.2 \ src/lib/libc/citrus/citrus_ctype_template.h cvs rdiff -u -r1.15.18.2 -r1.15.18.3 \ src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r1.17.20.2 -r1.17.20.3 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.23.22.2 -r1.23.22.3 \ src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.14.22.2 -r1.14.22.3 \ src/lib/libc/citrus/modules/citrus_mskanji.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/citrus/citrus_ctype.h diff -u src/lib/libc/citrus/citrus_ctype.h:1.3.22.1 src/lib/libc/citrus/citrus_ctype.h:1.3.22.2 --- src/lib/libc/citrus/citrus_ctype.h:1.3.22.1 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/citrus_ctype.h Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype.h,v 1.3.22.1 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_ctype.h,v 1.3.22.2 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -30,6 +30,7 @@ #ifndef _CITRUS_CTYPE_H_ #define _CITRUS_CTYPE_H_ +#include /* For __STDC_ISO_10646__ */ #include "citrus_ctype_local.h" typedef struct _citrus_ctype_rec *_citrus_ctype_t; @@ -185,6 +186,7 @@ _citrus_ctype_wctob(_citrus_ctype_t cc, return (*cc->cc_ops->co_wctob)(cc, c, cresult); } +#ifdef __STDC_ISO_10646__ static __inline int _citrus_ctype_ucs2kt(_citrus_ctype_t cc, wchar_kuten_t * __restrict ktp, @@ -202,6 +204,11 @@ _citrus_ctype_kt2ucs(_citrus_ctype_t cc, _DIAGASSERT(cc && cc->cc_ops && cc->cc_ops->co_kt2ucs); return (*cc->cc_ops->co_kt2ucs)(cc->cc_closure, up, kt); } +#else +/* Define away the calls to these functions */ +#define _citrus_ctype_ucs2kt(cl, ktp, wc) do {} while (0) +#define _citrus_ctype_kt2ucs(cl, up, kt) do {} while (0) +#endif extern _citrus_ctype_rec_t _citrus_ctype_default; Index: src/lib/libc/citrus/citrus_ctype_template.h diff -u src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.1 src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.2 --- src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.1 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/citrus_ctype_template.h Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_template.h,v 1.36.22.1 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_ctype_template.h,v 1.36.22.2 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -118,6 +118,7 @@ * */ +#include /* For __STDC_ISO_10646__ */ /* prototypes */ @@ -938,6 +939,7 @@ _FUNCNAME(ctype_wctob)(_citrus_ctype_rec return 0; } +#ifdef __STDC_ISO_10646__ static __inline int /*ARGSUSED*/ _FUNCNAME(ctype_ucs2kt)(void * __restrict cl, @@ -953,4 +955,8 @@ _FUNCNAME(ctype_kt2ucs)(void * __restric { return _FUNCNAME(kt2ucs)(_CEI_TO_EI(_TO_CEI(cl)), up, kt); } - +#else +/* Define away the calls to these functions */ +#define _FUNCNAME(ctype_ucs2kt)(cl, ktp, wc) do {} while (0) +#define _FUNCNAME(ctype_kt2ucs)(cl, up, kt) do {} while (0) +#endif Index: src/lib/libc/citrus/modules/citrus_big5.c diff -u src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.2 src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.3 --- src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/modules/citrus_big5.c Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_big5.c,v 1.15.18.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_big5.c,v 1.15.18.3 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002, 2006 Citrus Project, @@ -60,7 +60,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_big5.c,v 1.15.18.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_big5.c,v 1.15.18.3 2017/07/31 04:23:35 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -134,6 +134,7 @@ typedef struct { #define _ENCODING_IS_STATE_DEPENDENT 0 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0 +#ifdef __STDC_ISO_10646__ #include "citrus_big5_data.h" static __inline int @@ -188,6 +189,9 @@ _FUNCNAME(kt2ucs)(_ENCODING_INFO * __res return 0; } +#else +#include "citrus_u2k_template.h" +#endif static __inline void /*ARGSUSED*/ Index: src/lib/libc/citrus/modules/citrus_euc.c diff -u
CVS commit: [perseant-stdc-iso10646] src/tests/lib/libc/locale
Module Name:src Committed By: perseant Date: Sun Jul 23 19:16:11 UTC 2017 Modified Files: src/tests/lib/libc/locale [perseant-stdc-iso10646]: Makefile ducet_test.h t_ducet.c Log Message: Add Unicode copyright notice and more verbose DUCET test. To generate a diff of this commit: cvs rdiff -u -r1.10.2.1 -r1.10.2.2 src/tests/lib/libc/locale/Makefile cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/tests/lib/libc/locale/ducet_test.h \ src/tests/lib/libc/locale/t_ducet.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/locale/Makefile diff -u src/tests/lib/libc/locale/Makefile:1.10.2.1 src/tests/lib/libc/locale/Makefile:1.10.2.2 --- src/tests/lib/libc/locale/Makefile:1.10.2.1 Fri Jul 14 15:53:08 2017 +++ src/tests/lib/libc/locale/Makefile Sun Jul 23 19:16:11 2017 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10.2.1 2017/07/14 15:53:08 perseant Exp $ +# $NetBSD: Makefile,v 1.10.2.2 2017/07/23 19:16:11 perseant Exp $ .include Index: src/tests/lib/libc/locale/ducet_test.h diff -u src/tests/lib/libc/locale/ducet_test.h:1.1.2.1 src/tests/lib/libc/locale/ducet_test.h:1.1.2.2 --- src/tests/lib/libc/locale/ducet_test.h:1.1.2.1 Fri Jul 14 15:53:08 2017 +++ src/tests/lib/libc/locale/ducet_test.h Sun Jul 23 19:16:11 2017 @@ -6,6 +6,39 @@ /* UCA Version: 10.0.0*/ /* UCD Version: 10.0.0*/ /* For a description of the format and usage, see CollationTest.html*/ +/* + * Copyright © 1991-2017 Unicode, Inc. All rights reserved. + * Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Unicode data files and any associated documentation + * (the "Data Files") or Unicode software and any associated documentation + * (the "Software") to deal in the Data Files or Software + * without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, and/or sell copies of + * the Data Files or Software, and to permit persons to whom the Data Files + * or Software are furnished to do so, provided that either + * (a) this copyright and permission notice appear with all copies + * of the Data Files or Software, or + * (b) this copyright and permission notice appear in associated + * Documentation. + * + * THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF + * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT OF THIRD PARTY RIGHTS. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS + * NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL + * DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THE DATA FILES OR SOFTWARE. + * + * Except as contained in this notice, the name of a copyright holder + * shall not be used in advertising or otherwise to promote the sale, + * use or other dealings in these Data Files or Software without prior + * written authorization of the copyright holder. + */ #define MAX_TS_LEN 7 wchar_t ducet_test_data[][MAX_TS_LEN] = { {0x0338, 0x0334, 0x0}, Index: src/tests/lib/libc/locale/t_ducet.c diff -u src/tests/lib/libc/locale/t_ducet.c:1.1.2.1 src/tests/lib/libc/locale/t_ducet.c:1.1.2.2 --- src/tests/lib/libc/locale/t_ducet.c:1.1.2.1 Fri Jul 14 15:53:08 2017 +++ src/tests/lib/libc/locale/t_ducet.c Sun Jul 23 19:16:11 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: t_ducet.c,v 1.1.2.1 2017/07/14 15:53:08 perseant Exp $ */ +/* $NetBSD: t_ducet.c,v 1.1.2.2 2017/07/23 19:16:11 perseant Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -28,7 +28,7 @@ #include __COPYRIGHT("@(#) Copyright (c) 2011\ The NetBSD Foundation, inc. All rights reserved."); -__RCSID("$NetBSD: t_ducet.c,v 1.1.2.1 2017/07/14 15:53:08 perseant Exp $"); +__RCSID("$NetBSD: t_ducet.c,v 1.1.2.2 2017/07/23 19:16:11 perseant Exp $"); #include #include @@ -98,7 +98,7 @@ ATF_TC_BODY(wcsxfrm_ducet, tc) wchar_t *tmp, *oline = NULL, *line; wchar_t xfb1[BUFLEN], xfb2[BUFLEN]; /* Gross overestimates */ wchar_t *oxf = xfb1, *xf = xfb2; - int i, lineno = 0; + int i, lineno = 0, result; setlocale(LC_COLLATE, "en_US.UTF-8"); /* should be "vanilla" DUCET, but en_US will do */ ATF_REQUIRE_STREQ("en_US.UTF-8", setlocale(LC_COLLATE, NULL)); @@ -122,7 +122,18 @@ ATF_TC_BODY(wcsxfrm_ducet, tc) printf("\n"); wcsxfrm(xf, line, BUFLEN); - ATF_CHECK(wcscmp(oxf, xf) < 0); + result = wcscmp(oxf, xf); + if (result > 0) { + printf("FAILED result was %d\nweights were ", result); + for (i = 0; oxf[i] != 0; i++) +printf("0x%lx ", (long)oline[i]); + printf(" and "); + for (i = 0; xf[i] != 0;
CVS commit: [perseant-stdc-iso10646] src/lib/libc
Module Name:src Committed By: perseant Date: Fri Jul 21 20:22:29 UTC 2017 Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_ctype.c citrus_ctype.h citrus_ctype_fallback.c citrus_ctype_fallback.h citrus_ctype_local.h citrus_ctype_template.h citrus_iconv.h citrus_iconv_local.h citrus_namespace.h citrus_none.c citrus_stdenc.h citrus_stdenc_local.h citrus_stdenc_template.h src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_dechanyu.c citrus_euc.c citrus_euctw.c citrus_gbk2k.c citrus_hz.c citrus_iconv_none.c citrus_iconv_std.c citrus_iso2022.c citrus_johab.c citrus_mskanji.c citrus_ues.c citrus_utf1632.c citrus_utf7.c citrus_utf8.c citrus_viqr.c citrus_zw.c src/lib/libc/locale [perseant-stdc-iso10646]: Makefile.inc _wctrans.c _wctrans_local.h _wctype.c iswctype_mb.c multibyte.h multibyte_amd1.c multibyte_c90.c rune.c Added Files: src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5_data.h citrus_euc_data.h citrus_iso2022_data.h citrus_mskanji_data.h Removed Files: src/lib/libc/locale [perseant-stdc-iso10646]: rune_iso10646.c rune_iso10646.h u2k.h Log Message: Move Unicode <-> ku/ten mapping into the individual codec modules. Mapping is based on existing iconv data for single-byte encodings, and included for several, but not all, multibyte encodings. To generate a diff of this commit: cvs rdiff -u -r1.7.22.1 -r1.7.22.2 src/lib/libc/citrus/citrus_ctype.c cvs rdiff -u -r1.3 -r1.3.22.1 src/lib/libc/citrus/citrus_ctype.h \ src/lib/libc/citrus/citrus_ctype_fallback.c cvs rdiff -u -r1.2 -r1.2.22.1 src/lib/libc/citrus/citrus_ctype_fallback.h cvs rdiff -u -r1.4 -r1.4.22.1 src/lib/libc/citrus/citrus_ctype_local.h cvs rdiff -u -r1.36 -r1.36.22.1 src/lib/libc/citrus/citrus_ctype_template.h cvs rdiff -u -r1.5.64.1 -r1.5.64.2 src/lib/libc/citrus/citrus_iconv.h cvs rdiff -u -r1.3.64.1 -r1.3.64.2 src/lib/libc/citrus/citrus_iconv_local.h cvs rdiff -u -r1.8.42.1 -r1.8.42.2 src/lib/libc/citrus/citrus_namespace.h cvs rdiff -u -r1.22.2.1 -r1.22.2.2 src/lib/libc/citrus/citrus_none.c cvs rdiff -u -r1.4.80.1 -r1.4.80.2 src/lib/libc/citrus/citrus_stdenc.h cvs rdiff -u -r1.4.64.1 -r1.4.64.2 src/lib/libc/citrus/citrus_stdenc_local.h \ src/lib/libc/citrus/citrus_stdenc_template.h cvs rdiff -u -r1.15.18.1 -r1.15.18.2 \ src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/citrus/modules/citrus_big5_data.h \ src/lib/libc/citrus/modules/citrus_euc_data.h \ src/lib/libc/citrus/modules/citrus_iso2022_data.h \ src/lib/libc/citrus/modules/citrus_mskanji_data.h cvs rdiff -u -r1.5.22.1 -r1.5.22.2 \ src/lib/libc/citrus/modules/citrus_dechanyu.c \ src/lib/libc/citrus/modules/citrus_zw.c cvs rdiff -u -r1.17.20.1 -r1.17.20.2 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.12.22.1 -r1.12.22.2 \ src/lib/libc/citrus/modules/citrus_euctw.c cvs rdiff -u -r1.8.22.1 -r1.8.22.2 src/lib/libc/citrus/modules/citrus_gbk2k.c cvs rdiff -u -r1.4.18.1 -r1.4.18.2 src/lib/libc/citrus/modules/citrus_hz.c cvs rdiff -u -r1.3.38.1 -r1.3.38.2 \ src/lib/libc/citrus/modules/citrus_iconv_none.c cvs rdiff -u -r1.16.34.1 -r1.16.34.2 \ src/lib/libc/citrus/modules/citrus_iconv_std.c cvs rdiff -u -r1.23.22.1 -r1.23.22.2 \ src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.6.10.1 -r1.6.10.2 src/lib/libc/citrus/modules/citrus_johab.c cvs rdiff -u -r1.14.22.1 -r1.14.22.2 \ src/lib/libc/citrus/modules/citrus_mskanji.c cvs rdiff -u -r1.4.22.1 -r1.4.22.2 src/lib/libc/citrus/modules/citrus_ues.c cvs rdiff -u -r1.12.34.1 -r1.12.34.2 \ src/lib/libc/citrus/modules/citrus_utf1632.c cvs rdiff -u -r1.6.22.1 -r1.6.22.2 src/lib/libc/citrus/modules/citrus_utf7.c \ src/lib/libc/citrus/modules/citrus_viqr.c cvs rdiff -u -r1.18.22.1 -r1.18.22.2 \ src/lib/libc/citrus/modules/citrus_utf8.c cvs rdiff -u -r1.64.20.1 -r1.64.20.2 src/lib/libc/locale/Makefile.inc cvs rdiff -u -r1.17 -r1.17.40.1 src/lib/libc/locale/_wctrans.c cvs rdiff -u -r1.9 -r1.9.40.1 src/lib/libc/locale/_wctrans_local.h cvs rdiff -u -r1.9.40.1 -r1.9.40.2 src/lib/libc/locale/_wctype.c cvs rdiff -u -r1.13.22.1 -r1.13.22.2 src/lib/libc/locale/iswctype_mb.c cvs rdiff -u -r1.6 -r1.6.20.1 src/lib/libc/locale/multibyte.h cvs rdiff -u -r1.14.20.1 -r1.14.20.2 src/lib/libc/locale/multibyte_amd1.c cvs rdiff -u -r1.12.20.1 -r1.12.20.2 src/lib/libc/locale/multibyte_c90.c cvs rdiff -u -r1.46.22.1 -r1.46.22.2 src/lib/libc/locale/rune.c cvs rdiff -u -r1.1.2.1 -r0 src/lib/libc/locale/rune_iso10646.c \ src/lib/libc/locale/rune_iso10646.h src/lib/libc/locale/u2k.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [perseant-stdc-iso10646] src/distrib/sets/lists
Module Name:src Committed By: perseant Date: Tue Jul 18 14:55:29 UTC 2017 Modified Files: src/distrib/sets/lists/debug [perseant-stdc-iso10646]: mi src/distrib/sets/lists/tests [perseant-stdc-iso10646]: mi Log Message: Add t_ducet test To generate a diff of this commit: cvs rdiff -u -r1.220 -r1.220.2.1 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.757 -r1.757.2.1 src/distrib/sets/lists/tests/mi Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/debug/mi diff -u src/distrib/sets/lists/debug/mi:1.220 src/distrib/sets/lists/debug/mi:1.220.2.1 --- src/distrib/sets/lists/debug/mi:1.220 Fri Jul 14 14:57:43 2017 +++ src/distrib/sets/lists/debug/mi Tue Jul 18 14:55:29 2017 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.220 2017/07/14 14:57:43 perseant Exp $ +# $NetBSD: mi,v 1.220.2.1 2017/07/18 14:55:29 perseant Exp $ ./etc/mtree/set.debug comp-sys-root ./usr/lib comp-sys-usr compatdir ./usr/lib/i18n/libBIG5_g.a comp-c-debuglib debuglib,compatfile @@ -1947,6 +1947,7 @@ ./usr/libdata/debug/usr/tests/lib/libc/locale/t_ctype2.debug tests-obsolete obsolete,compattestfile ./usr/libdata/debug/usr/tests/lib/libc/locale/t_btowc.debug tests-lib-debug debug,atf,compattestfile ./usr/libdata/debug/usr/tests/lib/libc/locale/t_digittoint.debug tests-lib-debug debug,atf,compattestfile +./usr/libdata/debug/usr/tests/lib/libc/locale/t_ducet.debug tests-lib-debug debug,atf,compattestfile ./usr/libdata/debug/usr/tests/lib/libc/locale/t_io.debug tests-lib-debug debug,atf,compattestfile ./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbrtowc.debug tests-lib-debug debug,atf,compattestfile ./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbsnrtowcs.debug tests-lib-debug debug,atf,compattestfile Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.757 src/distrib/sets/lists/tests/mi:1.757.2.1 --- src/distrib/sets/lists/tests/mi:1.757 Tue Jul 18 02:16:07 2017 +++ src/distrib/sets/lists/tests/mi Tue Jul 18 14:55:29 2017 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.757 2017/07/18 02:16:07 ozaki-r Exp $ +# $NetBSD: mi,v 1.757.2.1 2017/07/18 14:55:29 perseant Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -2544,6 +2544,7 @@ ./usr/tests/lib/libc/locale/t_ctype2 tests-obsolete obsolete ./usr/tests/lib/libc/locale/t_btowc tests-lib-tests compattestfile,atf ./usr/tests/lib/libc/locale/t_digittoint tests-lib-tests compattestfile,atf +./usr/tests/lib/libc/locale/t_ducet tests-lib-tests compattestfile,atf ./usr/tests/lib/libc/locale/t_io tests-lib-tests compattestfile,atf ./usr/tests/lib/libc/locale/t_mbrtowc tests-lib-tests compattestfile,atf ./usr/tests/lib/libc/locale/t_mbsnrtowcs tests-lib-tests compattestfile,atf
CVS commit: [perseant-stdc-iso10646] src
Module Name:src Committed By: perseant Date: Fri Jul 14 15:53:08 UTC 2017 Modified Files: src/include [perseant-stdc-iso10646]: wchar.h src/lib/libc/citrus [perseant-stdc-iso10646]: Makefile.inc citrus_ctype.c citrus_iconv.c citrus_iconv.h citrus_iconv_local.h citrus_namespace.h citrus_none.c citrus_stdenc.h citrus_stdenc_local.h citrus_stdenc_template.h src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_dechanyu.c citrus_euc.c citrus_euctw.c citrus_gbk2k.c citrus_hz.c citrus_iconv_none.c citrus_iconv_std.c citrus_iso2022.c citrus_johab.c citrus_mskanji.c citrus_ues.c citrus_utf1632.c citrus_utf7.c citrus_utf8.c citrus_viqr.c citrus_zw.c src/lib/libc/locale [perseant-stdc-iso10646]: Makefile.inc _wcstod.h _wctype.c global_locale.c iswctype_mb.c multibyte_amd1.c multibyte_c90.c rune.c runetable.c runetype_local.h setlocale.c setlocale_local.h wcscoll.c wcsxfrm.c src/tests/lib/libc/locale [perseant-stdc-iso10646]: Makefile t_wcscoll.c Added Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_lc_collate.c src/lib/libc/locale [perseant-stdc-iso10646]: collate_local.h collate_locale.c rune_iso10646.c rune_iso10646.h u2k.h unicode_ccc_data.h unicode_collate.c unicode_collate.h unicode_collation_data.h unicode_decomp_data.h unicode_lc_collate.c unicode_nfd_qc_data.h unicode_reserved_cp_data.h unicode_reserved_range_data.h unicode_ucd.c unicode_ucd.h src/tests/lib/libc/locale [perseant-stdc-iso10646]: ducet_test.h t_ducet.c Log Message: Initial commit of a mostly-working implementation of __STDC_ISO_10646__, with collation support using the Unicode Collation Algorithm. The conversion from men/ku/ten form to Unicode is a gross hack at present. Fixing this, and fleshing out the LC_COLLATE locale component, are next on the agenda. To generate a diff of this commit: cvs rdiff -u -r1.42 -r1.42.8.1 src/include/wchar.h cvs rdiff -u -r1.8 -r1.8.40.1 src/lib/libc/citrus/Makefile.inc cvs rdiff -u -r1.7 -r1.7.22.1 src/lib/libc/citrus/citrus_ctype.c cvs rdiff -u -r1.10 -r1.10.34.1 src/lib/libc/citrus/citrus_iconv.c cvs rdiff -u -r1.5 -r1.5.64.1 src/lib/libc/citrus/citrus_iconv.h cvs rdiff -u -r1.3 -r1.3.64.1 src/lib/libc/citrus/citrus_iconv_local.h cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/citrus/citrus_lc_collate.c cvs rdiff -u -r1.8 -r1.8.42.1 src/lib/libc/citrus/citrus_namespace.h cvs rdiff -u -r1.22 -r1.22.2.1 src/lib/libc/citrus/citrus_none.c cvs rdiff -u -r1.4 -r1.4.80.1 src/lib/libc/citrus/citrus_stdenc.h cvs rdiff -u -r1.4 -r1.4.64.1 src/lib/libc/citrus/citrus_stdenc_local.h \ src/lib/libc/citrus/citrus_stdenc_template.h cvs rdiff -u -r1.15 -r1.15.18.1 src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r1.5 -r1.5.22.1 src/lib/libc/citrus/modules/citrus_dechanyu.c \ src/lib/libc/citrus/modules/citrus_zw.c cvs rdiff -u -r1.17 -r1.17.20.1 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.12 -r1.12.22.1 src/lib/libc/citrus/modules/citrus_euctw.c cvs rdiff -u -r1.8 -r1.8.22.1 src/lib/libc/citrus/modules/citrus_gbk2k.c cvs rdiff -u -r1.4 -r1.4.18.1 src/lib/libc/citrus/modules/citrus_hz.c cvs rdiff -u -r1.3 -r1.3.38.1 src/lib/libc/citrus/modules/citrus_iconv_none.c cvs rdiff -u -r1.16 -r1.16.34.1 \ src/lib/libc/citrus/modules/citrus_iconv_std.c cvs rdiff -u -r1.23 -r1.23.22.1 src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.6 -r1.6.10.1 src/lib/libc/citrus/modules/citrus_johab.c cvs rdiff -u -r1.14 -r1.14.22.1 src/lib/libc/citrus/modules/citrus_mskanji.c cvs rdiff -u -r1.4 -r1.4.22.1 src/lib/libc/citrus/modules/citrus_ues.c cvs rdiff -u -r1.12 -r1.12.34.1 src/lib/libc/citrus/modules/citrus_utf1632.c cvs rdiff -u -r1.6 -r1.6.22.1 src/lib/libc/citrus/modules/citrus_utf7.c \ src/lib/libc/citrus/modules/citrus_viqr.c cvs rdiff -u -r1.18 -r1.18.22.1 src/lib/libc/citrus/modules/citrus_utf8.c cvs rdiff -u -r1.64 -r1.64.20.1 src/lib/libc/locale/Makefile.inc \ src/lib/libc/locale/setlocale.c cvs rdiff -u -r1.4 -r1.4.22.1 src/lib/libc/locale/_wcstod.h \ src/lib/libc/locale/wcscoll.c cvs rdiff -u -r1.9 -r1.9.40.1 src/lib/libc/locale/_wctype.c cvs rdiff -u -r0 -r1.1.2.1 src/lib/libc/locale/collate_local.h \ src/lib/libc/locale/collate_locale.c src/lib/libc/locale/rune_iso10646.c \ src/lib/libc/locale/rune_iso10646.h src/lib/libc/locale/u2k.h \ src/lib/libc/locale/unicode_ccc_data.h \ src/lib/libc/locale/unicode_collate.c \ src/lib/libc/locale/unicode_collate.h \ src/lib/libc/locale/unicode_collation_data.h \ src/lib/libc/locale/unicode_decomp_data.h \ src/lib/libc/locale/unicode_lc_collate.c \ src/lib/libc/locale/unicode_nfd_qc_data.h \ src/lib/libc/locale/unicode_reserved_cp_data.h \