aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog76
-rw-r--r--locale/C-address.c47
-rw-r--r--locale/C-ctype.c291
-rw-r--r--locale/C-identification.c54
-rw-r--r--locale/C-measurement.c36
-rw-r--r--locale/C-messages.c6
-rw-r--r--locale/C-monetary.c37
-rw-r--r--locale/C-name.c41
-rw-r--r--locale/C-paper.c39
-rw-r--r--locale/C-telephone.c39
-rw-r--r--locale/C-time.c116
-rw-r--r--locale/Makefile36
-rw-r--r--locale/categories.def277
-rw-r--r--locale/findlocale.c47
-rw-r--r--locale/iso-3166.def245
-rw-r--r--locale/iso-639.def133
-rw-r--r--locale/langinfo.h371
-rw-r--r--locale/lc-address.c22
-rw-r--r--locale/lc-collate.c18
-rw-r--r--locale/lc-ctype.c17
-rw-r--r--locale/lc-identification.c22
-rw-r--r--locale/lc-measurement.c22
-rw-r--r--locale/lc-monetary.c23
-rw-r--r--locale/lc-name.c22
-rw-r--r--locale/lc-paper.c22
-rw-r--r--locale/lc-telephone.c22
-rw-r--r--locale/lc-time.c117
-rw-r--r--locale/loadlocale.c77
-rw-r--r--locale/locale.h20
-rw-r--r--locale/localeinfo.h59
-rw-r--r--locale/newlocale.c34
-rw-r--r--locale/programs/charmap-kw.gperf7
-rw-r--r--locale/programs/charmap-kw.h120
-rw-r--r--locale/programs/charmap.c284
-rw-r--r--locale/programs/charmap.h (renamed from locale/programs/charset.h)50
-rw-r--r--locale/programs/config.h30
-rw-r--r--locale/programs/ld-address.c514
-rw-r--r--locale/programs/ld-collate.c1819
-rw-r--r--locale/programs/ld-ctype.c3042
-rw-r--r--locale/programs/ld-identification.c376
-rw-r--r--locale/programs/ld-measurement.c206
-rw-r--r--locale/programs/ld-messages.c252
-rw-r--r--locale/programs/ld-monetary.c757
-rw-r--r--locale/programs/ld-name.c276
-rw-r--r--locale/programs/ld-numeric.c293
-rw-r--r--locale/programs/ld-paper.c235
-rw-r--r--locale/programs/ld-telephone.c283
-rw-r--r--locale/programs/ld-time.c1155
-rw-r--r--locale/programs/linereader.c452
-rw-r--r--locale/programs/linereader.h34
-rw-r--r--locale/programs/locale-spec.c2
-rw-r--r--locale/programs/locale.c8
-rw-r--r--locale/programs/localedef.c299
-rw-r--r--locale/programs/localedef.h131
-rw-r--r--locale/programs/locfile-kw.gperf250
-rw-r--r--locale/programs/locfile-kw.h482
-rw-r--r--locale/programs/locfile-token.h111
-rw-r--r--locale/programs/locfile.c1088
-rw-r--r--locale/programs/locfile.h264
-rw-r--r--locale/programs/repertoire.c225
-rw-r--r--locale/programs/repertoire.h31
-rw-r--r--locale/programs/simple-hash.h30
-rw-r--r--locale/programs/stringtrans.c10
-rw-r--r--locale/setlocale.c147
-rw-r--r--locale/weight.h54
-rw-r--r--string/strcoll.c20
-rw-r--r--string/strxfrm.c18
-rw-r--r--time/strftime.c36
-rw-r--r--time/strptime.c1
-rw-r--r--wctype/cname-lookup.h32
70 files changed, 11953 insertions, 3859 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e39c44efd..69c03f7ae3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,81 @@
1999-08-30 Ulrich Drepper <drepper@cygnus.com>
+ * locale/Makefile (distribute): Add iso-639.def and iso-3166.def.
+ Change charset.h to charmap.h.
+ (categories): Add new categories. Leave out collate for now.
+ Update build rules.
+ * locale/categories.def: Add definitions for new categories.
+ * locale/langinfo.h: Likewise.
+ * locale/locale.h: Likewise.
+ * locale/C-address.c: New file.
+ * locale/C-identification.c: New file.
+ * locale/C-measurement.c: New file.
+ * locale/C-name.c: New file.
+ * locale/C-paper.c: New file.
+ * locale/C-telephone.c: New file.
+ * locale/lc-address.c: Likewise.
+ * locale/lc-identification.c: Likewise.
+ * locale/lc-measurement.c: Likewise.
+ * locale/lc-name.c: Likewise.
+ * locale/lc-paper.c: Likewise.
+ * locale/lc-telephone.c: Likewise.
+ * locale/C-ctype.c: Update for locale rewrite.
+ * locale/C-messages.c: Likewise.
+ * locale/C-monetary.c: Likewise.
+ * locale/C-time.c: Likewise.
+ * locale/lc-collate.c: Likewise.
+ * locale/lc-ctype.c: Likewise.
+ * locale/lc-monetary.c: Likewise.
+ * locale/lc-time.c: Likewise.
+ * locale/localeinfo.h: Likewise.
+ * locale/newlocale.c: Likewise.
+ * locale/setlocale.c: Likewise.
+ * locale/weight.h: Likewise.
+ * locale/findlocale.c: Unconditionally use mmap.
+ Handle new categories.
+ * locale/loadlocale.c: Likewise.
+ * locale/iso-3166.def: New file.
+ * locale/iso-639.def: New file.
+ * locale/programs/charmap-kw.gperf: Add new keywords.
+ * locale/programs/locfile-kw.gperf: Likewise.
+ * locale/programs/locfile-token.h: Define new tokens.
+ * locale/programs/charmap.c: Rewrite to handle multibyte charsets.
+ * locale/programs/charmap.h: New file.
+ * locale/programs/charset.h: Removed.
+ * locale/programs/config.h: Add __LC_LAST.
+ * locale/programs/lc-address.c: New file.
+ * locale/programs/lc-identification.c: New file.
+ * locale/programs/lc-measurement.c: New file.
+ * locale/programs/lc-name.c: New file.
+ * locale/programs/lc-paper.c: New file.
+ * locale/programs/lc-telephone.c: New file.
+ * locale/programs/lc-collate.c: Update for locale rewrite.
+ * locale/programs/lc-ctype.c: Likewise.
+ * locale/programs/lc-messages.c: Likewise.
+ * locale/programs/lc-monetary.c: Likewise.
+ * locale/programs/lc-numeric.c: Likewise.
+ * locale/programs/lc-time.c: Likewise.
+ * locale/programs/locale.c: Likewise.
+ * locale/programs/localedef.c: Likewise.
+ * locale/programs/locfile.c: Likewise.
+ * locale/programs/repertoire.c: Likewise.
+ * locale/programs/repertoire.h: Likewise.
+ * locale/programs/locfile.c: Update prototypes.
+ Update handle_copy definition.
+ * locale/programs/linereader.c: Add handling of wide char strings and
+ new definition file syntax.
+ * locale/programs/linereader.h (struct token): Add elements for wide
+ character strings.
+ * locale/programs/locale-spec.c: Disable handling of collation
+ elements for now.
+ * locale/programs/simple-hash.h: Cleanup.
+ * locale/programs/stringtrans.h: Handle quite of end of line.
+ * string/strcoll.c: Fall back on strcmp for now.
+ * string/strxfrm.c: Fall back on strncpy/strlen for now.
+ * time/strftime.c: Use new wide character data for wcsftime.
+ * time/strptime.c: Remove _nl_C_LC_TIME declaration.
+ * wctype/cname-lookup.h: Update for new LC_CTYPE data.
+
* sysdeps/i386/Makefile [csu]: Define CFLAGS-initfini.s to force
compiling for i386 to avoid i686-like GOT pointer computation.
diff --git a/locale/C-address.c b/locale/C-address.c
new file mode 100644
index 0000000000..8b37639d89
--- /dev/null
+++ b/locale/C-address.c
@@ -0,0 +1,47 @@
+/* Copyright (C) 1998 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <endian.h>
+
+#include "localeinfo.h"
+
+/* This table's entries are taken from ISO 14652, the table in section
+ 4.10 "LC_ADDRESS". */
+
+const struct locale_data _nl_C_LC_ADDRESS =
+{
+ _nl_C_name,
+ NULL, 0, 0, /* no file mapped */
+ UNDELETABLE,
+ 12,
+ {
+ { string: "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" },
+ { string: "" }
+ }
+};
diff --git a/locale/C-ctype.c b/locale/C-ctype.c
index 9dd122b3f6..77281b0095 100644
--- a/locale/C-ctype.c
+++ b/locale/C-ctype.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1995.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -29,28 +29,28 @@
is set to always return 0 and the conversion arrays return EOF. */
const char _nl_C_LC_CTYPE_class[768] =
- /* 0x80 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0x86 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0x8c */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0x92 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0x98 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0x9e */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xa4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xaa */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xb0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xb6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xbc */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xc2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xc8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xce */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xd4 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xda */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xe0 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xe6 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xec */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xf2 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xf8 */ "\000\000" "\000\000" "\000\000" "\000\000" "\000\000" "\000\000"
- /* 0xfe */ "\000\000" "\000\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x80 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x86 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x8c */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x92 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x98 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0x9e */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0xa4 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0xaa */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"
+ /* 0xb0 */ "\002\000" "\002\000" "\002\000" "\002\000" "\002\000"