summaryrefslogtreecommitdiff
path: root/usr.bin/locale
diff options
context:
space:
mode:
authorAlexey Zelkin <phantom@FreeBSD.org>2003-06-26 09:07:53 +0000
committerAlexey Zelkin <phantom@FreeBSD.org>2003-06-26 09:07:53 +0000
commitb1d6647755b888699300101f04f8157596292f4c (patch)
treed6a23f119db7bdfc9bbe2b734cda8e043f03e373 /usr.bin/locale
parent61340e72c460356c1f94ed3b915acb7faf975c83 (diff)
downloadsrc-test-b1d6647755b888699300101f04f8157596292f4c.tar.gz
src-test-b1d6647755b888699300101f04f8157596292f4c.zip
implement LC_MONETARY's int_* keywords
Notes
Notes: svn path=/head/; revision=116873
Diffstat (limited to 'usr.bin/locale')
-rw-r--r--usr.bin/locale/locale.c34
1 files changed, 32 insertions, 2 deletions
diff --git a/usr.bin/locale/locale.c b/usr.bin/locale/locale.c
index c7ebdebf0f6f7..b763034ece238 100644
--- a/usr.bin/locale/locale.c
+++ b/usr.bin/locale/locale.c
@@ -27,8 +27,8 @@
*/
/*
- * XXX: implement missing int_* (LC_MONETARY) (require libc modification) and
- * era_* (LC_TIME) keywords (require libc & nl_langinfo(3) extensions)
+ * XXX: implement missing era_* (LC_TIME) keywords (require libc &
+ * nl_langinfo(3) extensions)
*
* XXX: correctly handle reserved 'charmap' keyword and '-m' option (require
* localedef(1) implementation). Currently it's handled via
@@ -98,6 +98,12 @@ struct _lcinfo {
#define KW_N_SEP_BY_SPACE (KW_ZERO+14)
#define KW_P_SIGN_POSN (KW_ZERO+15)
#define KW_N_SIGN_POSN (KW_ZERO+16)
+#define KW_INT_P_CS_PRECEDES (KW_ZERO+17)
+#define KW_INT_P_SEP_BY_SPACE (KW_ZERO+18)
+#define KW_INT_N_CS_PRECEDES (KW_ZERO+19)
+#define KW_INT_N_SEP_BY_SPACE (KW_ZERO+20)
+#define KW_INT_P_SIGN_POSN (KW_ZERO+21)
+#define KW_INT_N_SIGN_POSN (KW_ZERO+22)
struct _kwinfo {
const char *name;
@@ -132,6 +138,12 @@ struct _kwinfo {
{ "n_sep_by_space", 0, LC_MONETARY, KW_N_SEP_BY_SPACE, "" },
{ "p_sign_posn", 0, LC_MONETARY, KW_P_SIGN_POSN, "" },
{ "n_sign_posn", 0, LC_MONETARY, KW_N_SIGN_POSN, "" },
+ { "int_p_cs_precedes", 0, LC_MONETARY, KW_INT_P_CS_PRECEDES, "" },
+ { "int_p_sep_by_space", 0, LC_MONETARY, KW_INT_P_SEP_BY_SPACE, "" },
+ { "int_n_cs_precedes", 0, LC_MONETARY, KW_INT_N_CS_PRECEDES, "" },
+ { "int_n_sep_by_space", 0, LC_MONETARY, KW_INT_N_SEP_BY_SPACE, "" },
+ { "int_p_sign_posn", 0, LC_MONETARY, KW_INT_P_SIGN_POSN, "" },
+ { "int_n_sign_posn", 0, LC_MONETARY, KW_INT_N_SIGN_POSN, "" },
{ "d_t_fmt", 1, LC_TIME, D_T_FMT, "" },
{ "d_fmt", 1, LC_TIME, D_FMT, "" },
@@ -465,6 +477,24 @@ kwval_lconv(int id)
case KW_N_SIGN_POSN:
rval = &(lc->n_sign_posn);
break;
+ case KW_INT_P_CS_PRECEDES:
+ rval = &(lc->int_p_cs_precedes);
+ break;
+ case KW_INT_P_SEP_BY_SPACE:
+ rval = &(lc->int_p_sep_by_space);
+ break;
+ case KW_INT_N_CS_PRECEDES:
+ rval = &(lc->int_n_cs_precedes);
+ break;
+ case KW_INT_N_SEP_BY_SPACE:
+ rval = &(lc->int_n_sep_by_space);
+ break;
+ case KW_INT_P_SIGN_POSN:
+ rval = &(lc->int_p_sign_posn);
+ break;
+ case KW_INT_N_SIGN_POSN:
+ rval = &(lc->int_n_sign_posn);
+ break;
default:
break;
}