aboutsummaryrefslogtreecommitdiff
path: root/locale
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2013-11-11 18:12:03 +0100
committerAndreas Schwab <schwab@suse.de>2013-11-19 11:53:00 +0100
commitb5449b12962da665c29f0a1c85f705de4bc4abf2 (patch)
tree8df3aee75fac59ef5696cb62a1e87b8d93fe8db2 /locale
parente186536b6fa8ceb004dfa1ba45766edcc871a95b (diff)
downloadglibc-b5449b12962da665c29f0a1c85f705de4bc4abf2.zip
glibc-b5449b12962da665c29f0a1c85f705de4bc4abf2.tar.gz
glibc-b5449b12962da665c29f0a1c85f705de4bc4abf2.tar.bz2
Complete display of LC_MONETARY
Diffstat (limited to 'locale')
-rw-r--r--locale/C-monetary.c3
-rw-r--r--locale/categories.def1
-rw-r--r--locale/programs/locale.c18
3 files changed, 21 insertions, 1 deletions
diff --git a/locale/C-monetary.c b/locale/C-monetary.c
index 3246ff5..9c36c76 100644
--- a/locale/C-monetary.c
+++ b/locale/C-monetary.c
@@ -22,6 +22,7 @@
``LC_MONETARY Category Definition in the POSIX Locale'',
with additions from ISO 14652, section 4.4. */
static const char not_available[] = "\377";
+static const uint32_t conversion_rate[] = { 1, 1 };
const struct __locale_data _nl_C_LC_MONETARY attribute_hidden =
{
@@ -74,7 +75,7 @@ const struct __locale_data _nl_C_LC_MONETARY attribute_hidden =
{ .word = 99991231 },
{ .word = 10101 },
{ .word = 99991231 },
- { .word = 1 },
+ { .string = (const char *) conversion_rate },
{ .word = (unsigned int) L'\0' },
{ .word = (unsigned int) L'\0' },
{ .string = _nl_C_codeset }
diff --git a/locale/categories.def b/locale/categories.def
index 8c25378..e1172e9 100644
--- a/locale/categories.def
+++ b/locale/categories.def
@@ -156,6 +156,7 @@ DEFINE_CATEGORY
DEFINE_ELEMENT (N_SEP_BY_SPACE, "n_sep_by_space", std, byte, 0, 2)
DEFINE_ELEMENT (P_SIGN_POSN, "p_sign_posn", std, byte, 0, 4)
DEFINE_ELEMENT (N_SIGN_POSN, "n_sign_posn", std, byte, 0, 4)
+ DEFINE_ELEMENT (_NL_MONETARY_CRNCYSTR, "crncystr", std, string)
DEFINE_ELEMENT (__INT_P_CS_PRECEDES, "int_p_cs_precedes", std, byte, 0, 1)
DEFINE_ELEMENT (__INT_P_SEP_BY_SPACE, "int_p_sep_by_space", std, byte, 0, 2)
DEFINE_ELEMENT (__INT_N_CS_PRECEDES, "int_n_cs_precedes", std, byte, 0, 1)
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index c0bdb6c..d2b28d0 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -927,6 +927,24 @@ show_info (const char *name)
printf ("%d\n", val.word);
}
break;
+ case wordarray:
+ {
+ int first = 1;
+ union { unsigned int *wordarray; char *string; } val;
+ int cnt;
+
+ val.string = nl_langinfo (item->item_id);
+ if (show_keyword_name)
+ printf ("%s=", item->name);
+
+ for (cnt = 0; cnt < item->max; ++cnt)
+ {
+ printf ("%s%d", first ? "" : ";", val.wordarray[cnt]);
+ first = 0;
+ }
+ putchar ('\n');
+ }
+ break;
case wstring:
case wstringarray:
case wstringlist: