Page MenuHomeFreeBSD

D17833.id49987.diff
No OneTemporary

D17833.id49987.diff

Index: lib/libc/locale/collate.c
===================================================================
--- lib/libc/locale/collate.c
+++ lib/libc/locale/collate.c
@@ -84,7 +84,8 @@
void *
__collate_load(const char *encoding, __unused locale_t unused)
{
- if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) {
+ if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0 ||
+ strncmp(encoding, "C.", 2) == 0) {
return &__xlocale_C_collate;
}
struct xlocale_collate *table = calloc(sizeof(struct xlocale_collate), 1);
@@ -122,7 +123,8 @@
table->__collate_load_error = 1;
/* 'encoding' must be already checked. */
- if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) {
+ if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0 ||
+ strncmp(encoding, "C.", 2) == 0) {
return (_LDP_CACHE);
}
Index: lib/libc/locale/ldpart.c
===================================================================
--- lib/libc/locale/ldpart.c
+++ lib/libc/locale/ldpart.c
@@ -63,7 +63,8 @@
size_t namesize, bufsize;
/* 'name' must be already checked. */
- if (strcmp(name, "C") == 0 || strcmp(name, "POSIX") == 0) {
+ if (strcmp(name, "C") == 0 || strcmp(name, "POSIX") == 0 ||
+ strncmp(name, "C.", 2) == 0) {
*using_locale = 0;
return (_LDP_CACHE);
}
Index: share/ctypedef/Makefile
===================================================================
--- share/ctypedef/Makefile
+++ share/ctypedef/Makefile
@@ -14,6 +14,7 @@
-f ${MAPLOC}/map.${.IMPSRC:T:R:E} \
-i ${.IMPSRC} ${.OBJDIR}/${.IMPSRC:T:R} || true
+LOCALES+= C.UTF-8
LOCALES+= be_BY.CP1131
LOCALES+= ca_IT.ISO8859-1
LOCALES+= ca_IT.ISO8859-15
@@ -21,7 +22,6 @@
LOCALES+= en_US.ISO8859-1
LOCALES+= en_US.ISO8859-15
LOCALES+= en_US.US-ASCII
-LOCALES+= en_US.UTF-8
LOCALES+= hi_IN.ISCII-DEV
LOCALES+= hy_AM.ARMSCII-8
LOCALES+= ja_JP.SJIS
@@ -45,82 +45,83 @@
-SAME+= en_US.UTF-8 ru_RU.UTF-8
-SAME+= en_US.UTF-8 zh_TW.UTF-8
-SAME+= en_US.UTF-8 zh_HK.UTF-8
-SAME+= en_US.UTF-8 zh_CN.UTF-8
-SAME+= en_US.UTF-8 uk_UA.UTF-8
-SAME+= en_US.UTF-8 tr_TR.UTF-8
-SAME+= en_US.UTF-8 sv_SE.UTF-8
-SAME+= en_US.UTF-8 sv_FI.UTF-8
-SAME+= en_US.UTF-8 sr_RS.UTF-8@latin
-SAME+= en_US.UTF-8 sr_RS.UTF-8
-SAME+= en_US.UTF-8 sl_SI.UTF-8
-SAME+= en_US.UTF-8 sk_SK.UTF-8
-SAME+= en_US.UTF-8 se_NO.UTF-8
-SAME+= en_US.UTF-8 se_FI.UTF-8
-SAME+= en_US.UTF-8 ro_RO.UTF-8
-SAME+= en_US.UTF-8 pt_PT.UTF-8
-SAME+= en_US.UTF-8 pt_BR.UTF-8
-SAME+= en_US.UTF-8 pl_PL.UTF-8
-SAME+= en_US.UTF-8 nn_NO.UTF-8
-SAME+= en_US.UTF-8 nl_NL.UTF-8
-SAME+= en_US.UTF-8 nl_BE.UTF-8
-SAME+= en_US.UTF-8 nb_NO.UTF-8
-SAME+= en_US.UTF-8 mn_MN.UTF-8
-SAME+= en_US.UTF-8 lv_LV.UTF-8
-SAME+= en_US.UTF-8 lt_LT.UTF-8
-SAME+= en_US.UTF-8 ko_KR.UTF-8
-SAME+= en_US.UTF-8 kk_KZ.UTF-8
-SAME+= en_US.UTF-8 ja_JP.UTF-8
-SAME+= en_US.UTF-8 it_IT.UTF-8
-SAME+= en_US.UTF-8 it_CH.UTF-8
-SAME+= en_US.UTF-8 is_IS.UTF-8
-SAME+= en_US.UTF-8 hy_AM.UTF-8
-SAME+= en_US.UTF-8 hu_HU.UTF-8
-SAME+= en_US.UTF-8 hr_HR.UTF-8
-SAME+= en_US.UTF-8 hi_IN.UTF-8
-SAME+= en_US.UTF-8 he_IL.UTF-8
-SAME+= en_US.UTF-8 fr_FR.UTF-8
-SAME+= en_US.UTF-8 fr_CH.UTF-8
-SAME+= en_US.UTF-8 fr_CA.UTF-8
-SAME+= en_US.UTF-8 fr_BE.UTF-8
-SAME+= en_US.UTF-8 fi_FI.UTF-8
-SAME+= en_US.UTF-8 eu_ES.UTF-8
-SAME+= en_US.UTF-8 et_EE.UTF-8
-SAME+= en_US.UTF-8 es_MX.UTF-8
-SAME+= en_US.UTF-8 es_ES.UTF-8
-SAME+= en_US.UTF-8 es_CR.UTF-8
-SAME+= en_US.UTF-8 es_AR.UTF-8
-SAME+= en_US.UTF-8 en_ZA.UTF-8
-SAME+= en_US.UTF-8 en_SG.UTF-8
-SAME+= en_US.UTF-8 en_PH.UTF-8
-SAME+= en_US.UTF-8 en_NZ.UTF-8
-SAME+= en_US.UTF-8 en_IE.UTF-8
-SAME+= en_US.UTF-8 en_HK.UTF-8
-SAME+= en_US.UTF-8 en_GB.UTF-8
-SAME+= en_US.UTF-8 en_CA.UTF-8
-SAME+= en_US.UTF-8 en_AU.UTF-8
-SAME+= en_US.UTF-8 el_GR.UTF-8
-SAME+= en_US.UTF-8 de_DE.UTF-8
-SAME+= en_US.UTF-8 de_CH.UTF-8
-SAME+= en_US.UTF-8 de_AT.UTF-8
-SAME+= en_US.UTF-8 da_DK.UTF-8
-SAME+= en_US.UTF-8 cs_CZ.UTF-8
-SAME+= en_US.UTF-8 ca_IT.UTF-8
-SAME+= en_US.UTF-8 ca_FR.UTF-8
-SAME+= en_US.UTF-8 ca_ES.UTF-8
-SAME+= en_US.UTF-8 ca_AD.UTF-8
-SAME+= en_US.UTF-8 bg_BG.UTF-8
-SAME+= en_US.UTF-8 be_BY.UTF-8
-SAME+= en_US.UTF-8 ar_SA.UTF-8
-SAME+= en_US.UTF-8 ar_QA.UTF-8
-SAME+= en_US.UTF-8 ar_MA.UTF-8
-SAME+= en_US.UTF-8 ar_JO.UTF-8
-SAME+= en_US.UTF-8 ar_EG.UTF-8
-SAME+= en_US.UTF-8 ar_AE.UTF-8
-SAME+= en_US.UTF-8 am_ET.UTF-8
-SAME+= en_US.UTF-8 af_ZA.UTF-8
+SAME+= C.UTF-8 en_US.UTF-8
+SAME+= C.UTF-8 ru_RU.UTF-8
+SAME+= C.UTF-8 zh_TW.UTF-8
+SAME+= C.UTF-8 zh_HK.UTF-8
+SAME+= C.UTF-8 zh_CN.UTF-8
+SAME+= C.UTF-8 uk_UA.UTF-8
+SAME+= C.UTF-8 tr_TR.UTF-8
+SAME+= C.UTF-8 sv_SE.UTF-8
+SAME+= C.UTF-8 sv_FI.UTF-8
+SAME+= C.UTF-8 sr_RS.UTF-8@latin
+SAME+= C.UTF-8 sr_RS.UTF-8
+SAME+= C.UTF-8 sl_SI.UTF-8
+SAME+= C.UTF-8 sk_SK.UTF-8
+SAME+= C.UTF-8 se_NO.UTF-8
+SAME+= C.UTF-8 se_FI.UTF-8
+SAME+= C.UTF-8 ro_RO.UTF-8
+SAME+= C.UTF-8 pt_PT.UTF-8
+SAME+= C.UTF-8 pt_BR.UTF-8
+SAME+= C.UTF-8 pl_PL.UTF-8
+SAME+= C.UTF-8 nn_NO.UTF-8
+SAME+= C.UTF-8 nl_NL.UTF-8
+SAME+= C.UTF-8 nl_BE.UTF-8
+SAME+= C.UTF-8 nb_NO.UTF-8
+SAME+= C.UTF-8 mn_MN.UTF-8
+SAME+= C.UTF-8 lv_LV.UTF-8
+SAME+= C.UTF-8 lt_LT.UTF-8
+SAME+= C.UTF-8 ko_KR.UTF-8
+SAME+= C.UTF-8 kk_KZ.UTF-8
+SAME+= C.UTF-8 ja_JP.UTF-8
+SAME+= C.UTF-8 it_IT.UTF-8
+SAME+= C.UTF-8 it_CH.UTF-8
+SAME+= C.UTF-8 is_IS.UTF-8
+SAME+= C.UTF-8 hy_AM.UTF-8
+SAME+= C.UTF-8 hu_HU.UTF-8
+SAME+= C.UTF-8 hr_HR.UTF-8
+SAME+= C.UTF-8 hi_IN.UTF-8
+SAME+= C.UTF-8 he_IL.UTF-8
+SAME+= C.UTF-8 fr_FR.UTF-8
+SAME+= C.UTF-8 fr_CH.UTF-8
+SAME+= C.UTF-8 fr_CA.UTF-8
+SAME+= C.UTF-8 fr_BE.UTF-8
+SAME+= C.UTF-8 fi_FI.UTF-8
+SAME+= C.UTF-8 eu_ES.UTF-8
+SAME+= C.UTF-8 et_EE.UTF-8
+SAME+= C.UTF-8 es_MX.UTF-8
+SAME+= C.UTF-8 es_ES.UTF-8
+SAME+= C.UTF-8 es_CR.UTF-8
+SAME+= C.UTF-8 es_AR.UTF-8
+SAME+= C.UTF-8 en_ZA.UTF-8
+SAME+= C.UTF-8 en_SG.UTF-8
+SAME+= C.UTF-8 en_PH.UTF-8
+SAME+= C.UTF-8 en_NZ.UTF-8
+SAME+= C.UTF-8 en_IE.UTF-8
+SAME+= C.UTF-8 en_HK.UTF-8
+SAME+= C.UTF-8 en_GB.UTF-8
+SAME+= C.UTF-8 en_CA.UTF-8
+SAME+= C.UTF-8 en_AU.UTF-8
+SAME+= C.UTF-8 el_GR.UTF-8
+SAME+= C.UTF-8 de_DE.UTF-8
+SAME+= C.UTF-8 de_CH.UTF-8
+SAME+= C.UTF-8 de_AT.UTF-8
+SAME+= C.UTF-8 da_DK.UTF-8
+SAME+= C.UTF-8 cs_CZ.UTF-8
+SAME+= C.UTF-8 ca_IT.UTF-8
+SAME+= C.UTF-8 ca_FR.UTF-8
+SAME+= C.UTF-8 ca_ES.UTF-8
+SAME+= C.UTF-8 ca_AD.UTF-8
+SAME+= C.UTF-8 bg_BG.UTF-8
+SAME+= C.UTF-8 be_BY.UTF-8
+SAME+= C.UTF-8 ar_SA.UTF-8
+SAME+= C.UTF-8 ar_QA.UTF-8
+SAME+= C.UTF-8 ar_MA.UTF-8
+SAME+= C.UTF-8 ar_JO.UTF-8
+SAME+= C.UTF-8 ar_EG.UTF-8
+SAME+= C.UTF-8 ar_AE.UTF-8
+SAME+= C.UTF-8 am_ET.UTF-8
+SAME+= C.UTF-8 af_ZA.UTF-8
SAME+= en_US.ISO8859-1 sv_SE.ISO8859-1
SAME+= en_US.ISO8859-1 sv_FI.ISO8859-1
SAME+= en_US.ISO8859-1 pt_PT.ISO8859-1
Index: tools/tools/locale/Makefile
===================================================================
--- tools/tools/locale/Makefile
+++ tools/tools/locale/Makefile
@@ -54,7 +54,7 @@
.endif
all:
- cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src
+ cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_C.UTF-8.src
.for t in ${TYPES}
. if ${KNOWN:M${t}}
test -d ${t} || mkdir ${t}
@@ -105,7 +105,7 @@
.endfor
transfer-rollup:
- cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_US.UTF-8.src
+ cp ${ETCDIR}/common.UTF-8.src ${CLDRDIR}/posix/xx_Comm_C.UTF-8.src
rollup:
perl -I tools tools/utf8-rollup.pl \
Index: tools/tools/locale/tools/cldr2def.pl
===================================================================
--- tools/tools/locale/tools/cldr2def.pl
+++ tools/tools/locale/tools/cldr2def.pl
@@ -416,6 +416,9 @@
}
sub transform_ctypes {
+ # Add the C.UTF-8
+ $languages{"C"}{"x"}{data}{"x"}{$DEFENCODING} = undef;
+
foreach my $l (sort keys(%languages)) {
foreach my $f (sort keys(%{$languages{$l}})) {
foreach my $c (sort keys(%{$languages{$l}{$f}{data}})) {
@@ -424,13 +427,12 @@
next if (defined $languages{$l}{$f}{definitions}
&& $languages{$l}{$f}{definitions} !~ /$TYPE/);
$languages{$l}{$f}{data}{$c}{$DEFENCODING} = 0; # unread
- my $file;
- $file = $l . "_";
- $file .= $f . "_" if ($f ne "x");
- $file .= $c;
+ my $file = $l;
+ $file .= "_" . $f if ($f ne "x");
+ $file .= "_" . $c if ($c ne "x");
my $actfile = $file;
- my $filename = "$CLDRDIR/posix/xx_Comm_US.UTF-8.src";
+ my $filename = "$CLDRDIR/posix/xx_Comm_C.UTF-8.src";
if (! -f $filename) {
print STDERR "Cannot open $filename\n";
next;
@@ -939,8 +941,8 @@
} keys(%{$hashtable{$hash}});
} elsif ($TYPE eq "ctypedef") {
@files = sort {
- if ($a eq 'en_x_US.UTF-8') { return -1; }
- elsif ($b eq 'en_x_US.UTF-8') { return 1; }
+ if ($a eq 'C_x_x.UTF-8') { return -1; }
+ elsif ($b eq 'C_x_x.UTF-8') { return 1; }
if ($a =~ /^en_x_US/) { return -1; }
elsif ($b =~ /^en_x_US/) { return 1; }
@@ -962,6 +964,7 @@
}
if ($#files > 0) {
my $link = shift(@files);
+ $link =~ s/_x_x//; # special case for C
$link =~ s/_x_/_/; # strip family if none there
foreach my $file (@files) {
my @a = split(/_/, $file);
@@ -987,9 +990,9 @@
next;
}
foreach my $e (sort keys(%{$languages{$l}{$f}{data}{$c}})) {
- my $file = $l . "_";
- $file .= $f . "_" if ($f ne "x");
- $file .= $c;
+ my $file = $l;
+ $file .= "_" . $f if ($f ne "x");
+ $file .= "_" . $c if ($c ne "x");
next if (!defined $languages{$l}{$f}{data}{$c}{$e});
print FOUT "LOCALES+=\t$file.$e\n";
}

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 21, 2:00 PM (11 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31914339
Default Alt Text
D17833.id49987.diff (9 KB)

Event Timeline