aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-07 07:12:11 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-07 07:12:11 +0000
commit89a4f6ff1f643aadc4d3e9e401d792b5198d9f52 (patch)
tree5ccbe38b3c719ba403fdebac6f2dc8761e698405
parent2528edd3176df331320f366ff3dad88cb6d82533 (diff)
downloadglibc-89a4f6ff1f643aadc4d3e9e401d792b5198d9f52.zip
glibc-89a4f6ff1f643aadc4d3e9e401d792b5198d9f52.tar.gz
glibc-89a4f6ff1f643aadc4d3e9e401d792b5198d9f52.tar.bz2
Update.
2000-07-07 Ulrich Drepper <drepper@redhat.com> * locale/programs/locale.c (write_locales): Don't simply add all directories found in the subdir, test whether at least the LC_CTYPE file is in there.
-rw-r--r--ChangeLog6
-rw-r--r--locale/programs/locale.c15
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/tests-mbwc/dat_mblen.c2
-rw-r--r--localedata/tests-mbwc/dat_mbtowc.c9
-rw-r--r--localedata/tests-mbwc/dat_wctob.c8
6 files changed, 32 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 1add3ad..9ff2643 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-07-07 Ulrich Drepper <drepper@redhat.com>
+
+ * locale/programs/locale.c (write_locales): Don't simply add all
+ directories found in the subdir, test whether at least the
+ LC_CTYPE file is in there.
+
2000-07-06 Ulrich Drepper <drepper@redhat.com>
* iconvdata/euc-jp.c: Map characters in C1 area to itself.
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index 0fcc259..c37dad8 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -336,7 +336,20 @@ write_locales (void)
}
if (S_ISDIR (mode))
- PUT (strdup (dirent->d_name));
+ {
+ /* Test whether at least the LC_CTYPE data is there. Some
+ directories only contain translations. */
+ char buf[sizeof (LOCALEDIR) + strlen (dirent->d_name)
+ + sizeof "/LC_CTYPE"];
+ struct stat st;
+
+ stpcpy (stpcpy (stpcpy (stpcpy (buf, LOCALEDIR), "/"),
+ dirent->d_name),
+ "/LC_CTYPE");
+
+ if (stat (buf, &st) == 0 && S_ISREG (st.st_mode))
+ PUT (strdup (dirent->d_name));
+ }
}
closedir (dir);
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 6f64baa..226e83e 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,5 +1,10 @@
2000-07-06 Ulrich Drepper <drepper@redhat.com>
+ * tests-mbwc/dat_mblen.c: Correct data after adding C1 characters
+ to EUC-JP.
+ * tests-mbwc/dat_mbtowc.c: Likewise.
+ * tests-mbwc/dat_wctob.c: Likewise.
+
* charmaps/EUC-JP: Make characters in C1 area map to themselves.
* charmaps/EUC-KR: Likewise.
diff --git a/localedata/tests-mbwc/dat_mblen.c b/localedata/tests-mbwc/dat_mblen.c
index 0868ec4..7e9ba74 100644
--- a/localedata/tests-mbwc/dat_mblen.c
+++ b/localedata/tests-mbwc/dat_mblen.c
@@ -100,7 +100,7 @@ TST_MBLEN tst_mblen_loc [] = {
/* 03: a character + an invalid byte. */
{ { 1, "\260\241\200", USE_MBCURMAX }, { 0, 0, 1, 2 } },
/* 04: control/invalid characters. */
- { { 1, "\200\202", USE_MBCURMAX }, { 1, EILSEQ, 1, -1 } },
+ { { 1, "\377\202", USE_MBCURMAX }, { 1, EILSEQ, 1, -1 } },
/* 05: a null string. */
{ { 1, "", USE_MBCURMAX }, { 0, 0, 1, 0 } },
/* 06: a null pointer. */
diff --git a/localedata/tests-mbwc/dat_mbtowc.c b/localedata/tests-mbwc/dat_mbtowc.c
index b23653b..fc90769 100644
--- a/localedata/tests-mbwc/dat_mbtowc.c
+++ b/localedata/tests-mbwc/dat_mbtowc.c
@@ -263,20 +263,19 @@ TST_MBTOWC tst_mbtowc_loc [] = {
{
{
{ 1, 1, "\177\244\242", MB_LEN_MAX },
- { 1, 1, "\200\244\242", MB_LEN_MAX },
+ { 1, 1, "\377\244\242", MB_LEN_MAX },
{ 1, 1, "\201\244\242", MB_LEN_MAX },
}
},
{
{
- { 0, 0, 1, +1, 0x007F },
+ { 0, 0, 1, +1, 0x007F },
#ifdef SHOJI_IS_RIGHT
{ 1, EILSEQ, 1, -1, 0x0000 },
- { 1, EILSEQ, 1, -1, 0x0000 },
#else
- { 0, 0, 1, -1, 0x0000 },
- { 0, 0, 1, -1, 0x0000 },
+ { 0, 0, 1, -1, 0x0000 },
#endif
+ { 0, 0, 1, +1, 0x0081 },
}
}
},
diff --git a/localedata/tests-mbwc/dat_wctob.c b/localedata/tests-mbwc/dat_wctob.c
index d40b74a..e4cae62 100644
--- a/localedata/tests-mbwc/dat_wctob.c
+++ b/localedata/tests-mbwc/dat_wctob.c
@@ -42,12 +42,8 @@ TST_WCTOB tst_wctob_loc [] = {
{ { WEOF }, { 0,0, 1, EOF } },
{ { 0x0020 }, { 0,0, 1, 0x20 } },
{ { 0x0061 }, { 0,0, 1, 0x61 } },
-#ifdef SHOJI_IS_RIGHT
- { { 0x0080 }, { 0,0, 1, 0x80 } }, /* <WAIVER> */
-#else
- /* XXX These are no valid characters. */
- { { 0x0080 }, { 0,0, 1, EOF } },
-#endif
+ { { 0x0080 }, { 0,0, 1, 0x80 } },
+ { { 0x00FF }, { 0,0, 1, EOF } },
{ { 0x00C4 }, { 0,0, 1, EOF } },
{ { 0x30C4 }, { 0,0, 1, EOF } },
{ is_last: 1 } /* Last element. */