diff options
| author | Ulrich Drepper <drepper@redhat.com> | 2000-10-26 23:41:17 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 2000-10-26 23:41:17 +0000 |
| commit | d8337213c83c3bd4aa32e16669745dd7ee32b329 (patch) | |
| tree | c9f1296e2e3f355d296e4d8258c8380393006fc0 /locale | |
| parent | 5be068fc154b697b56cce171a73eccf572f86937 (diff) | |
| download | glibc-d8337213c83c3bd4aa32e16669745dd7ee32b329.tar.xz glibc-d8337213c83c3bd4aa32e16669745dd7ee32b329.zip | |
Update.
* locale/C-monetary.c: Set mon_decimal to empty string.
Add missing entry _NL_MONETARY_CRNCYSTR.
* stdio-common/printf_fp.c: If MON_DECIAL_POINT is not provided use
DECIMAL_POINT information.
* locale/C-numeric.c: Set mon_grouping entry to empty string.
* locale/C-time.c: Add date_fmt entries. Remove two wrong entries.
Correct value for number of entries.
* locale/localeconv.c: Normalize result passed back in .grouping.
Fix assignment to .int_* entries.
* locale/Makefile (tests): Add tst-C-locale.
* locale/tst-C-locale.c: New file.
* locale/setlocale.c: Use LOCALEDIR and not LOCALE_PATH to locate
locale files.
* locale/newlocale.c: Likewise.
2000-10-26 GOTO Masanori <gotom@debian.or.jp>
* locale/langinfo.h: Define _DATE_FMT and _NL_W_DATE_FMT.
* locale/categories.def: New support for date_fmt.
* locale/programs/ld-time.c: Likewise.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/locfile-kw.h: Likewise.
* locale/programs/locfile-token.h: Likewise.
2000-10-26 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-128/e_hypotl.c: New.
* math/libm-test.inc (cabs_test, cexp_test, csqrt_test, hypot_test):
Increase precision of constants.
* sysdeps/alpha/fpu/libm-test-ulps: Update.
* sysdeps/arm/libm-test-ulps: Update.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/ia64/fpu/libm-test-ulps: Update.
* sysdeps/m68k/fpu/libm-test-ulps: Update.
* sysdeps/mips/fpu/libm-test-ulps: Update.
* sysdeps/powerpc/fpu/libm-test-ulps: Update.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
* sysdeps/sh/sh4/fpu/libm-test-ulps: Update.
* sysdeps/s390/fpu/libm-test-ulps: Update.
2000-10-26 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'locale')
| -rw-r--r-- | locale/C-monetary.c | 6 | ||||
| -rw-r--r-- | locale/C-numeric.c | 8 | ||||
| -rw-r--r-- | locale/C-time.c | 8 | ||||
| -rw-r--r-- | locale/Makefile | 1 | ||||
| -rw-r--r-- | locale/categories.def | 2 | ||||
| -rw-r--r-- | locale/langinfo.h | 6 | ||||
| -rw-r--r-- | locale/localeconv.c | 22 | ||||
| -rw-r--r-- | locale/newlocale.c | 2 | ||||
| -rw-r--r-- | locale/programs/ld-time.c | 21 | ||||
| -rw-r--r-- | locale/programs/locfile-kw.gperf | 1 | ||||
| -rw-r--r-- | locale/programs/locfile-kw.h | 467 | ||||
| -rw-r--r-- | locale/programs/locfile-token.h | 1 | ||||
| -rw-r--r-- | locale/setlocale.c | 2 | ||||
| -rw-r--r-- | locale/tst-C-locale.c | 231 |
14 files changed, 529 insertions, 249 deletions
diff --git a/locale/C-monetary.c b/locale/C-monetary.c index 39d061da55..e04b2de4f0 100644 --- a/locale/C-monetary.c +++ b/locale/C-monetary.c @@ -39,7 +39,7 @@ const struct locale_data _nl_C_LC_MONETARY = { { string: "" }, { string: "" }, - { string: "." }, + { string: "" }, { string: "" }, { string: "" }, { string: "" }, @@ -52,6 +52,7 @@ const struct locale_data _nl_C_LC_MONETARY = { string: not_available }, { string: not_available }, { string: not_available }, + { string: "" }, { string: not_available }, { string: not_available }, { string: not_available }, @@ -79,8 +80,7 @@ const struct locale_data _nl_C_LC_MONETARY = { word: 10101 }, { word: 99991231 }, { word: 1 }, - { word: 1 }, - { word: (unsigned int) L'.' }, + { word: (unsigned int) L'\0' }, { word: (unsigned int) L'\0' } } }; diff --git a/locale/C-numeric.c b/locale/C-numeric.c index 65fc2734ba..822780dcdd 100644 --- a/locale/C-numeric.c +++ b/locale/C-numeric.c @@ -21,12 +21,6 @@ /* 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, @@ -38,7 +32,7 @@ const struct locale_data _nl_C_LC_NUMERIC = { { string: "." }, { string: "" }, - { string: not_available }, + { string: "" }, { word: (unsigned int) L'.' }, { word: (unsigned int) L'\0' } } diff --git a/locale/C-time.c b/locale/C-time.c index 18bd645ed0..d205f4918c 100644 --- a/locale/C-time.c +++ b/locale/C-time.c @@ -30,7 +30,7 @@ const struct locale_data _nl_C_LC_TIME = UNDELETABLE, 0, NULL, - 62, + 110, { { string: "Sun" }, { string: "Mon" }, @@ -128,7 +128,6 @@ const struct locale_data _nl_C_LC_TIME = { wstr: (const uint32_t *) L"%m/%d/%y" }, { wstr: (const uint32_t *) L"%H:%M:%S" }, { wstr: (const uint32_t *) L"%I:%M:%S %p" }, - { wstr: NULL }, { wstr: (const uint32_t *) L"" }, { wstr: (const uint32_t *) L"" }, { wstr: (const uint32_t *) L"" }, @@ -139,8 +138,9 @@ const struct locale_data _nl_C_LC_TIME = { word: 19971130 }, { string: "\7" }, { string: "\1" }, - { string: "\7" }, { string: "\1" }, - { string: "" } + { string: "" }, + { string: "%a %b %e %H:%M:%S %Z %Y" }, + { wstr: (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y" } } }; diff --git a/locale/Makefile b/locale/Makefile index a5abf5414a..0710863cb1 100644 --- a/locale/Makefile +++ b/locale/Makefile @@ -37,6 +37,7 @@ distribute = localeinfo.h categories.def iso-639.def iso-3166.def \ routines = setlocale findlocale loadlocale localeconv nl_langinfo \ nl_langinfo_l mb_cur_max codeset_name \ newlocale duplocale freelocale +tests = tst-C-locale categories = ctype messages monetary numeric time paper name \ address telephone measurement identification collate aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name diff --git a/locale/categories.def b/locale/categories.def index 2ec45e477a..561cae98f0 100644 --- a/locale/categories.def +++ b/locale/categories.def @@ -240,6 +240,8 @@ DEFINE_CATEGORY DEFINE_ELEMENT (_NL_TIME_FIRST_WORKDAY, "first_workday", std, byte) DEFINE_ELEMENT (_NL_TIME_CAL_DIRECTION, "cal_direction", std, byte) DEFINE_ELEMENT (_NL_TIME_TIMEZONE, "timezone", std, string) + DEFINE_ELEMENT (_DATE_FMT, "date_fmt", opt, string) + DEFINE_ELEMENT (_NL_W_DATE_FMT, "wide-date_fmt", opt, string) ), _nl_postload_time) diff --git a/locale/langinfo.h b/locale/langinfo.h index c8ffa1db5e..d55afa4e63 100644 --- a/locale/langinfo.h +++ b/locale/langinfo.h @@ -227,7 +227,11 @@ enum _NL_TIME_CAL_DIRECTION, _NL_TIME_TIMEZONE, - _NL_NUM_LC_TIME, /* Number of indices in LC_TIME category. */ + _DATE_FMT, /* strftime format for date. */ +#define _DATE_FMT _DATE_FMT + _NL_W_DATE_FMT, + + _NL_NUM_LC_TIME, /* Number of indices in LC_TIME category. */ /* LC_COLLATE category: text sorting. This information is accessed by the strcoll and strxfrm functions. diff --git a/locale/localeconv.c b/locale/localeconv.c index 0f545370f7..c5754fed93 100644 --- a/locale/localeconv.c +++ b/locale/localeconv.c @@ -29,6 +29,8 @@ __localeconv (void) result.decimal_point = (char *) _NL_CURRENT (LC_NUMERIC, DECIMAL_POINT); result.thousands_sep = (char *) _NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP); result.grouping = (char *) _NL_CURRENT (LC_NUMERIC, GROUPING); + if (*result.grouping == CHAR_MAX || *result.grouping == -1) + result.grouping = (char *) ""; result.int_curr_symbol = (char *) _NL_CURRENT (LC_MONETARY, INT_CURR_SYMBOL); result.currency_symbol = (char *) _NL_CURRENT (LC_MONETARY, CURRENCY_SYMBOL); @@ -37,6 +39,8 @@ __localeconv (void) result.mon_thousands_sep = (char *) _NL_CURRENT (LC_MONETARY, MON_THOUSANDS_SEP); result.mon_grouping = (char *) _NL_CURRENT (LC_MONETARY, MON_GROUPING); + if (*result.mon_grouping == CHAR_MAX || *result.mon_grouping == -1) + result.mon_grouping = (char *) ""; result.positive_sign = (char *) _NL_CURRENT (LC_MONETARY, POSITIVE_SIGN); result.negative_sign = (char *) _NL_CURRENT (LC_MONETARY, NEGATIVE_SIGN); result.int_frac_digits = *(char *) _NL_CURRENT (LC_MONETARY, @@ -48,12 +52,18 @@ __localeconv (void) result.n_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, N_SEP_BY_SPACE); result.p_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, P_SIGN_POSN); result.n_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, N_SIGN_POSN); - result.p_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_CS_PRECEDES); - result.p_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_SEP_BY_SPACE); - result.n_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_CS_PRECEDES); - result.n_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_SEP_BY_SPACE); - result.p_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, INT_P_SIGN_POSN); - result.n_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, INT_N_SIGN_POSN); + result.int_p_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, + INT_P_CS_PRECEDES); + result.int_p_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, + INT_P_SEP_BY_SPACE); + result.int_n_cs_precedes = *(char *) _NL_CURRENT (LC_MONETARY, + INT_N_CS_PRECEDES); + result.int_n_sep_by_space = *(char *) _NL_CURRENT (LC_MONETARY, + INT_N_SEP_BY_SPACE); + result.int_p_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, + INT_P_SIGN_POSN); + result.int_n_sign_posn = *(char *) _NL_CURRENT (LC_MONETARY, + INT_N_SIGN_POSN); return &result; } diff --git a/locale/newlocale.c b/locale/newlocale.c index cd40943ccc..43419a9451 100644 --- a/locale/newlocale.c +++ b/locale/newlocale.c @@ -98,7 +98,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base) return NULL; if (__argz_append (&locale_path, &locale_path_len, - LOCALE_PATH, sizeof (LOCALE_PATH)) != 0) + LOCALEDIR, sizeof (LOCALEDIR)) != 0) return NULL; /* Get the names for the locales we are interested in. We either diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c index b42dba0100..ad4914a154 100644 --- a/locale/programs/ld-time.c +++ b/locale/programs/ld-time.c @@ -89,6 +89,8 @@ struct locale_time_t const uint32_t *wera_d_fmt; const char *alt_digits[100]; const uint32_t *walt_digits[100]; + const char *date_fmt; + const uint32_t *wdate_fmt; int alt_digits_defined; unsigned char week_ndays; uint32_t week_1stday; @@ -491,6 +493,11 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap) simply useless, stupid $&$!@... */ if (time->timezone == NULL) time->timezone = ""; + + if (time->date_fmt == NULL) + time->date_fmt = "%a %b %e %H:%M:%S %Z %Y"; + if (time->wdate_fmt == NULL) + time->wdate_fmt = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y"; } @@ -849,6 +856,19 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap, iov[2 + cnt].iov_base = (void *) time->timezone; iov[2 + cnt].iov_len = strlen (time->timezone) + 1; + idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len; + ++cnt; + ++last_idx; + + iov[2 + cnt].iov_base = (void *) time->date_fmt; + iov[2 + cnt].iov_len = strlen (iov[2 + cnt].iov_base) + 1; + idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len; + ++cnt; + ++last_idx; + + iov[2 + cnt].iov_base = (void *) time->wdate_fmt; + iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1) + * sizeof (uint32_t)); ++cnt; ++last_idx; @@ -1080,6 +1100,7 @@ time_read (struct linereader *ldfile, struct localedef_t *result, STR_ELEM (era_d_fmt); STR_ELEM (era_t_fmt); STR_ELEM (timezone); + STR_ELEM (date_fmt); #define INT_ELEM(cat) \ case tok_##cat: \ diff --git a/locale/programs/locfile-kw.gperf b/locale/programs/locfile-kw.gperf index 72421c742a..5aaaa6dcba 100644 --- a/locale/programs/locfile-kw.gperf +++ b/locale/programs/locfile-kw.gperf @@ -147,6 +147,7 @@ first_weekday, tok_first_weekday, 0 first_workday, tok_first_workday, 0 cal_direction, tok_cal_direction, 0 timezone, tok_timezone, 0 +date_fmt, tok_date_fmt, 0 LC_MESSAGES, tok_lc_messages, 0 yesexpr, tok_yesexpr, 0 noexpr, tok_noexpr, 0 diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h index ce219a6565..f456920603 100644 --- a/locale/programs/locfile-kw.h +++ b/locale/programs/locfile-kw.h @@ -24,12 +24,12 @@ #include "locfile-token.h" struct keyword_t ; -#define TOTAL_KEYWORDS 174 +#define TOTAL_KEYWORDS 175 #define MIN_WORD_LENGTH 3 #define MAX_WORD_LENGTH 22 #define MIN_HASH_VALUE 3 -#define MAX_HASH_VALUE 539 -/* maximum key range = 537, duplicates = 0 */ +#define MAX_HASH_VALUE 687 +/* maximum key range = 685, duplicates = 0 */ #ifdef __GNUC__ __inline @@ -39,32 +39,32 @@ hash (register const char *str, register unsigned int len) { static const unsigned short asso_values[] = { - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 5, 0, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 25, 540, 0, 0, 0, - 15, 0, 0, 0, 540, 540, 0, 540, 0, 0, - 540, 540, 15, 0, 10, 5, 540, 540, 540, 0, - 540, 540, 540, 540, 540, 50, 540, 0, 20, 120, - 5, 0, 110, 15, 105, 90, 540, 15, 75, 150, - 70, 65, 15, 0, 5, 50, 0, 230, 10, 5, - 5, 5, 0, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540, 540, 540, 540, 540, - 540, 540, 540, 540, 540, 540 + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 5, 0, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 15, 688, 0, 0, 0, + 5, 0, 0, 0, 688, 688, 0, 688, 0, 5, + 688, 688, 15, 0, 5, 15, 688, 688, 688, 0, + 688, 688, 688, 688, 688, 75, 688, 0, 0, 65, + 5, 0, 85, 40, 5, 155, 688, 10, 105, 120, + 125, 35, 5, 20, 5, 190, 0, 125, 35, 10, + 30, 35, 0, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, + 688, 688, 688, 688, 688, 688 }; register int hval = len; @@ -106,291 +106,306 @@ locfile_hash (register const char *str, register unsigned int len) {"LC_ADDRESS", tok_lc_address, 0}, {"LC_MESSAGES", tok_lc_messages, 0}, {"LC_TELEPHONE", tok_lc_telephone, 0}, - {"day", tok_day, 0}, + {"LC_CTYPE", tok_lc_ctype, 0}, {"era_t_fmt", tok_era_t_fmt, 0}, - {"LC_NUMERIC", tok_lc_numeric, 0}, - {"yesstr", tok_yesstr, 0}, + {"print", tok_print, 0}, + {"height", tok_height, 0}, {"LC_IDENTIFICATION", tok_lc_identification, 0}, - {"LC_CTYPE", tok_lc_ctype, 0}, + {""}, {"era_d_fmt", tok_era_d_fmt, 0}, {"LC_COLLATE", tok_lc_collate, 0}, {"IGNORE", tok_ignore, 0}, - {"yesexpr", tok_yesexpr, 0}, - {"era_year", tok_era_year, 0}, + {"LC_NAME", tok_lc_name, 0}, + {"backward", tok_backward, 0}, {"week", tok_week, 0}, - {"print", tok_print, 0}, + {"LC_NUMERIC", tok_lc_numeric, 0}, {"reorder-end", tok_reorder_end, 0}, {""}, {"reorder-after", tok_reorder_after, 0}, {"UNDEFINED", tok_undefined, 0}, - {""}, {""}, - {"LC_NAME", tok_lc_name, 0}, - {""}, {""}, - {"abday", tok_abday, 0}, + {""}, {"LC_MONETARY", tok_lc_monetary, 0}, {""}, - {"backward", tok_backward, 0}, + {"repertoiremap", tok_repertoiremap, 0}, {"LC_MEASUREMENT", tok_lc_measurement, 0}, {""}, {""}, {""}, - {"repertoiremap", tok_repertoiremap, 0}, - {""}, {""}, {""}, {""}, {"LC_PAPER", tok_lc_paper, 0}, - {""}, {""}, {""}, {""}, {""}, {""}, - {"t_fmt", tok_t_fmt, 0}, + {""}, {""}, {""}, {""}, + {"day", tok_day, 0}, {""}, {""}, - {"grouping", tok_grouping, 0}, + {"yesstr", tok_yesstr, 0}, + {""}, {""}, {""}, {""}, {""}, + {"toupper", tok_toupper, 0}, + {"era_year", tok_era_year, 0}, + {""}, {""}, + {"order_start", tok_order_start, 0}, + {"tolower", tok_tolower, 0}, + {""}, {""}, + {"graph", tok_graph, 0}, + {""}, {""}, {""}, + {"order_end", tok_order_end, 0}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {"d_fmt", tok_d_fmt, 0}, + {"abday", tok_abday, 0}, {""}, - {"address", tok_address, 0}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, - {"space", tok_space, 0}, - {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {"yesexpr", tok_yesexpr, 0}, + {""}, {""}, + {"t_fmt", tok_t_fmt, 0}, + {""}, {""}, {""}, {""}, + {"d_fmt", tok_d_fmt, 0}, + {""}, {""}, + {"date_fmt", tok_date_fmt, 0}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {"grouping", tok_grouping, 0}, + {""}, {""}, + {"tel_dom_fmt", tok_tel_dom_fmt, 0}, + {""}, {""}, {""}, {""}, + {"era_d_t_fmt", tok_era_d_t_fmt, 0}, + {"contact", tok_contact, 0}, {"tel", tok_tel, 0}, {"else", tok_else, 0}, {"alpha", tok_alpha, 0}, - {"define", tok_define, 0}, - {"tolower", tok_tolower, 0}, - {""}, {""}, - {"reorder-sections-end", tok_reorder_sections_end, 0}, - {"order_start", tok_order_start, 0}, - {"reorder-sections-after", tok_reorder_sections_after, 0}, + {"country_ab3", tok_country_ab3, 0}, {""}, {""}, {""}, {""}, - {"toupper", tok_toupper, 0}, + {"country_ab2", tok_country_ab2, 0}, + {"country_post", tok_country_post, 0}, + {"fax", tok_fax, 0}, + {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, + {"map", tok_map, 0}, {""}, - {"order_end", tok_order_end, 0}, - {"title", tok_title, 0}, - {""}, {""}, - {"timezone", tok_timezone, 0}, + {"blank", tok_blank, 0}, {""}, - {"digit", tok_digit, 0}, + {"forward", tok_forward, 0}, + {"audience", tok |
