summaryrefslogtreecommitdiff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/C-collate.c3
-rw-r--r--locale/C-ctype.c8
-rw-r--r--locale/C-messages.c9
-rw-r--r--locale/C-monetary.c28
-rw-r--r--locale/C-numeric.c10
-rw-r--r--locale/C-time.c5
6 files changed, 49 insertions, 14 deletions
diff --git a/locale/C-collate.c b/locale/C-collate.c
index 08fb47be06..0d7be6b7e0 100644
--- a/locale/C-collate.c
+++ b/locale/C-collate.c
@@ -20,6 +20,9 @@ Boston, MA 02111-1307, USA. */
#include <endian.h>
#include "localeinfo.h"
+/* These tables' entries contain values which make the function behave
+ accoriding to POSIX.2 Table 2-8 ``LC_COLLATE Category Definition in
+ the POSIX Locale''. */
const u_int32_t _nl_C_LC_COLLATE_symbol_hash[446] =
{
diff --git a/locale/C-ctype.c b/locale/C-ctype.c
index 6daeb1d7cd..0b9f1a0bd2 100644
--- a/locale/C-ctype.c
+++ b/locale/C-ctype.c
@@ -20,6 +20,14 @@ Boston, MA 02111-1307, USA. */
#include "localeinfo.h"
#include <endian.h>
+/* This table's entries are taken from POSIX.2 Table 2-6
+ ``LC_CTYPE Category Definitionin the POSIX Locale''.
+
+ The `_nl_C_LC_CTYPE_width' array is a GNU extension.
+
+ In the `_nl_C_LC_CTYPE_class' array the value for EOF (== -1)
+ is set to always return 0 and the conversion arrays return EOF. */
+
const char _nl_C_LC_CTYPE_class[768] =
/* 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"
diff --git a/locale/C-messages.c b/locale/C-messages.c
index b5fcd199ca..566fedce91 100644
--- a/locale/C-messages.c
+++ b/locale/C-messages.c
@@ -19,14 +19,19 @@ Boston, MA 02111-1307, USA. */
#include "localeinfo.h"
+/* This table's entries are taken from POSIX.2 Table 2-12
+ ``LC_MESSAGES Category Definition in the POSIX Locale''.
+
+ The last two fields are a GNU extension. */
+
const struct locale_data _nl_C_LC_MESSAGES =
{
_nl_C_name,
NULL, 0, /* no file mapped */
4,
{
- { string: "[yY][[:alpha:]]*" },
- { string: "[nN][[:alpha:]]*" },
+ { string: "^[yY]" },
+ { string: "^[nN]" },
{ string: "" },
{ string: "" }
}
diff --git a/locale/C-monetary.c b/locale/C-monetary.c
index 542e5c30d1..d81dbf812d 100644
--- a/locale/C-monetary.c
+++ b/locale/C-monetary.c
@@ -19,6 +19,14 @@ Boston, MA 02111-1307, USA. */
#include "localeinfo.h"
+/* This table's entries are taken from POSIX.2 Table 2-9
+ ``LC_MONETARY Category Definition in the POSIX Locale''. */
+#ifdef __CHAR_UNSIGNED__
+static const char not_available[] = "\377";
+#else
+static const char not_available[] = "\177";
+#endif
+
const struct locale_data _nl_C_LC_MONETARY =
{
_nl_C_name,
@@ -27,18 +35,18 @@ const struct locale_data _nl_C_LC_MONETARY =
{
{ string: "" },
{ string: "" },
- { string: "." },
{ string: "" },
- { string: "\177" },
+ { string: "" },
+ { string: not_available },
{ string: "" },
{ string: "" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" },
- { string: "\177" }
+ { string: not_available },
+ { string: not_available },
+ { string: not_available },
+ { string: not_available },
+ { string: not_available },
+ { string: not_available },
+ { string: not_available },
+ { string: not_available }
}
};
diff --git a/locale/C-numeric.c b/locale/C-numeric.c
index 6298f7000f..9a981f195a 100644
--- a/locale/C-numeric.c
+++ b/locale/C-numeric.c
@@ -19,6 +19,14 @@ Boston, MA 02111-1307, USA. */
#include "localeinfo.h"
+/* This table's entries are taken from POSIX.2 Table 2-10
+ ``LC_NUMERIC Category Definition in the POSIX Locale''. */
+#ifdef __CHAR_UNSIGNED__
+static const char not_available[] = "\377";
+#else
+static const char not_available[] = "\177";
+#endif
+
const struct locale_data _nl_C_LC_NUMERIC =
{
_nl_C_name,
@@ -27,6 +35,6 @@ const struct locale_data _nl_C_LC_NUMERIC =
{
{ string: "." },
{ string: "" },
- { string: "\177" }
+ { string: not_available }
}
};
diff --git a/locale/C-time.c b/locale/C-time.c
index a595e6b251..b03ff498ab 100644
--- a/locale/C-time.c
+++ b/locale/C-time.c
@@ -19,6 +19,9 @@ Boston, MA 02111-1307, USA. */
#include "localeinfo.h"
+/* This table's entries are taken from POSIX.2 Table 2-11
+ ``LC_TIME Category Definition in the POSIX Locale''. */
+
const struct locale_data _nl_C_LC_TIME =
{
_nl_C_name,
@@ -65,7 +68,7 @@ const struct locale_data _nl_C_LC_TIME =
{ string: "December" },
{ string: "AM" },
{ string: "PM" },
- { string: "%a %b %d %H:%M:%S %Y" },
+ { string: "%a %b %e %H:%M:%S %Y" },
{ string: "%m/%d/%y" },
{ string: "%H:%M:%S" },
{ string: "%I:%M:%S %p" },