summaryrefslogtreecommitdiff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/langinfo.h75
-rw-r--r--locale/programs/charmap.c4
-rw-r--r--locale/programs/charset.c5
-rw-r--r--locale/programs/ld-collate.c12
4 files changed, 85 insertions, 11 deletions
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 8cdb104c0d..10e8dd249e 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -46,64 +46,114 @@ enum
/* Abbreviated days of the week. */
ABDAY_1 = _NL_ITEM (LC_TIME, 0), /* Sun */
+#define ABDAY_1 ABDAY_1
ABDAY_2,
+#define ABDAY_2 ABDAY_2
ABDAY_3,
+#define ABDAY_3 ABDAY_3
ABDAY_4,
+#define ABDAY_4 ABDAY_4
ABDAY_5,
+#define ABDAY_5 ABDAY_5
ABDAY_6,
+#define ABDAY_6 ABDAY_6
ABDAY_7,
+#define ABDAY_7 ABDAY_7
/* Long-named days of the week. */
DAY_1, /* Sunday */
+#define DAY_1 DAY_1
DAY_2, /* Monday */
+#define DAY_2 DAY_2
DAY_3, /* Tuesday */
+#define DAY_3 DAY_3
DAY_4, /* Wednesday */
+#define DAY_4 DAY_4
DAY_5, /* Thursday */
+#define DAY_5 DAY_5
DAY_6, /* Friday */
+#define DAY_6 DAY_6
DAY_7, /* Saturday */
+#define DAY_7 DAY_7
/* Abbreviated month names. */
ABMON_1, /* Jan */
+#define ABMON_1 ABMON_1
ABMON_2,
+#define ABMON_2 ABMON_2
ABMON_3,
+#define ABMON_3 ABMON_3
ABMON_4,
+#define ABMON_4 ABMON_4
ABMON_5,
+#define ABMON_5 ABMON_5
ABMON_6,
+#define ABMON_6 ABMON_6
ABMON_7,
+#define ABMON_7 ABMON_7
ABMON_8,
+#define ABMON_8 ABMON_8
ABMON_9,
+#define ABMON_9 ABMON_9
ABMON_10,
+#define ABMON_10 ABMON_10
ABMON_11,
+#define ABMON_11 ABMON_11
ABMON_12,
+#define ABMON_12 ABMON_12
/* Long month names. */
MON_1, /* January */
+#define MON_1 MON_1
MON_2,
+#define MON_2 MON_2
MON_3,
+#define MON_3 MON_3
MON_4,
+#define MON_4 MON_4
MON_5,
+#define MON_5 MON_5
MON_6,
+#define MON_6 MON_6
MON_7,
+#define MON_7 MON_7
MON_8,
+#define MON_8 MON_8
MON_9,
+#define MON_9 MON_9
MON_10,
+#define MON_10 MON_10
MON_11,
+#define MON_11 MON_11
MON_12,
+#define MON_12 MON_12
AM_STR, /* Ante meridian string. */
+#define AM_STR AM_STR
PM_STR, /* Post meridian string. */
+#define PM_STR PM_STR
D_T_FMT, /* Date and time format for strftime. */
+#define D_T_FMT D_T_FMT
D_FMT, /* Date format for strftime. */
+#define D_FMT D_FMT
T_FMT, /* Time format for strftime. */
+#define T_FMT T_FMT
T_FMT_AMPM, /* 12-hour time format for strftime. */
+#define T_FMT_AMPM T_FMT_AMPM
ERA, /* Alternate era. */
+#define ERA ERA
ERA_YEAR, /* Year in alternate era format. */
+#define ERA_YEAR ERA_YEAR
ERA_D_FMT, /* Date in alternate era format. */
+#define ERA_D_FMT ERA_D_FMT
ALT_DIGITS, /* Alternate symbols for digits. */
+#define ALT_DIGITS ALT_DIGITS
ERA_D_T_FMT, /* Date and time in alternate era format. */
+#define ERA_D_T_FMT ERA_D_T_FMT
ERA_T_FMT, /* Time in alternate era format. */
+#define ERA_T_FMT ERA_T_FMT
_NL_TIME_NUM_ALT_DIGITS, /* Number entries in the alt_digits arrays. */
@@ -166,42 +216,67 @@ enum
These items each correspond to a member of `struct lconv',
defined in <locale.h>. */
INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0),
+#define INT_CURR_SYMBOL INT_CURR_SYMBOL
CURRENCY_SYMBOL,
+#define CURRENCY_SYMBOL CURRENCY_SYMBOL
#ifdef __USE_UNIX98
CRNCYSTR = CURRENCY_SYMBOL,
+# define CRNCYSTR CRNCYSTR
#endif
MON_DECIMAL_POINT,
+#define MON_DECIMAL_POINT MON_DECIMAL_POINT
MON_THOUSANDS_SEP,
+#define MON_THOUSANDS_SEP MON_THOUSANDS_SEP
MON_GROUPING,
+#define MON_GROUPING MON_GROUPING
POSITIVE_SIGN,
+#define POSITIVE_SIGN POSITIVE_SIGN
NEGATIVE_SIGN,
+#define NEGATIVE_SIGN NEGATIVE_SIGN
INT_FRAC_DIGITS,
+#define INT_FRAC_DIGITS INT_FRAC_DIGITS
FRAC_DIGITS,
+#define FRAC_DIGITS FRAC_DIGITS
P_CS_PRECEDES,
+#define P_CS_PRECEDES P_CS_PRECEDES
P_SEP_BY_SPACE,
+#define P_SEP_BY_SPACE P_SEP_BY_SPACE
N_CS_PRECEDES,
+#define N_CS_PRECEDES N_CS_PRECEDES
N_SEP_BY_SPACE,
+#define N_SEP_BY_SPACE N_SEP_BY_SPACE
P_SIGN_POSN,
+#define P_SIGN_POSN P_SIGN_POSN
N_SIGN_POSN,
+#define N_SIGN_POSN N_SIGN_POSN
_NL_NUM_LC_MONETARY,
/* LC_NUMERIC category: formatting of numbers.
These also correspond to members of `struct lconv'; see <locale.h>. */
DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0),
+#define DECIMAL_POINT DECIMAL_POINT
#ifdef __USE_UNIX98
RADIXCHAR = DECIMAL_POINT,
+# define RADIXCHAR RADIXCHAR
#endif
THOUSANDS_SEP,
+#define THOUSANDS_SEP THOUSANDS_SEP
#ifdef __USE_UNIX98
THOUSEP = THOUSANDS_SEP,
+#define THOUSANDS_SEP THOUSANDS_SEP
#endif
GROUPING,
+#define GROUPING GROUPING
_NL_NUM_LC_NUMERIC,
YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */
+#define YESEXPR YESEXPR
NOEXPR, /* Regex matching ``no'' input. */
+#define NOEXPR NOEXPR
YESSTR, /* Output string for ``yes''. */
+#define YESSTR YESSTR
NOSTR, /* Output string for ``no''. */
+#define NOSTR NOSTR
_NL_NUM_LC_MESSAGES,
/* This marks the highest value used. */
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index 27c83cc0a7..1573d6c002 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@@ -471,7 +471,7 @@ argument to <%s> must be a single character"),
cmfile->token.val.str.start,
cmfile->token.val.str.len);
- state = 3;
+ state = 5;
continue;
case 90:
diff --git a/locale/programs/charset.c b/locale/programs/charset.c
index 00233abf8f..fdacf25328 100644
--- a/locale/programs/charset.c
+++ b/locale/programs/charset.c
@@ -125,10 +125,11 @@ insert_char (struct linereader *lr, struct charset_t *cs, int bytes,
for (cnt = from_nr; cnt <= to_nr; ++cnt)
{
- sprintf (&buf[prefix_len], "%0d", cnt);
+ sprintf (&buf[prefix_len], "%0*d", len1 - prefix_len, cnt);
if (insert_entry (&cs->char_table, buf, len1,
- (void *) (unsigned long int) cnt) < 0)
+ (void *) (unsigned long int) (value + (cnt - from_nr)))
+ < 0)
lr_error (lr, _("duplicate character name `%s'"), buf);
}
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 3a8c17a303..f01b1f662b 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -190,7 +190,7 @@ collate_startup (struct linereader *lr, struct localedef_t *locale,
collate->all_patches = NULL;
/* This tells us no UNDEFINED entry was found until now. */
- collate->undefined.this_weight = 0;
+ memset (&collate->undefined, '\0', sizeof (collate->undefined));
lr->translate_strings = 0;
}
@@ -457,12 +457,10 @@ Computing table size for collation information might take a while..."),
information. While reading them they get inserted in the \
table and later not removed when something goes wrong with \
reading its weights. */ \
- { \
- value += 1 + runp->ordering[cnt]; \
+ value += 1 + runp->ordering[cnt]; \
\
- if (runp->name[1] == L'\0') \
- has_simple = runp; \
- } \
+ if (runp->name[1] == L'\0') \
+ has_simple = runp; \
\
ADD_ELEMENT (runp, value); \
} \
@@ -1891,7 +1889,7 @@ collate_end_weight (struct linereader *lr, struct localedef_t *locale)
|| collate->kind == undefined);
/* Fill in the missing weights. */
- while (++collate->weight_idx < collate->nrules)
+ while (collate->weight_idx++ < collate->nrules)
{
collate->weight[collate->nweight++] = pelem->this_weight;
++collate->weight_cnt[collate->weight_idx];