diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-12-10 01:37:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-12-10 01:37:56 +0000 |
commit | 47e8b4439dda245845e85dfbb054693a9b132635 (patch) | |
tree | ef27110e00f1a9f726c74c2f8473499ccf3dd0de /locale/programs/locfile.h | |
parent | a352ab4ca56142647227c3d2943adfa455679ada (diff) | |
download | glibc-47e8b4439dda245845e85dfbb054693a9b132635.tar.gz glibc-47e8b4439dda245845e85dfbb054693a9b132635.tar.xz glibc-47e8b4439dda245845e85dfbb054693a9b132635.zip |
Update.
2001-12-09 Ulrich Drepper <drepper@redhat.com> Implement transliteration of characters in strings of the locale definitions. * locale/programs/linereader.c: Adjust for additional parameter to lr_token. (get_string): If character <Uxxxx> is not found try to transliterate it. * locale/programs/ld-ctype.c: Adjust for additional parameter to lr_token. Add const to charmap parameter of all functions. (find_translit, find_translit2): New functions. * locale/programs/charmap.c: Adjust for additional parameter to lr_token. * locale/programs/repertoire.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/ld-address.c: Likewise. Add const to charmap parameter of all functions. * locale/programs/ld-collate.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/localedef.h: Likewise. * locale/programs/locfile.h: Likewise. Add declaration for find_translit. * locale/programs/simple-hash.c: Add const to first parameter of find_entry, iterate_table, and lookup. * locale/programs/simple-hash.h: Likewise. * locale/localeinfo.h: Don't define __LC_LAST here. Include <locale.h> instead. * include/locale.h: Define __LC_LAST. * iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION.
Diffstat (limited to 'locale/programs/locfile.h')
-rw-r--r-- | locale/programs/locfile.h | 90 |
1 files changed, 46 insertions, 44 deletions
diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h index 2693187f9b..4f6c8fee3e 100644 --- a/locale/programs/locfile.h +++ b/locale/programs/locfile.h @@ -46,7 +46,7 @@ struct locale_file /* General handling of `copy'. */ static inline void -handle_copy (struct linereader *ldfile, struct charmap_t *charmap, +handle_copy (struct linereader *ldfile, const struct charmap_t *charmap, const char *repertoire_name, struct localedef_t *result, enum token_t token, int locale, const char *locale_name, int ignore_content) @@ -54,7 +54,7 @@ handle_copy (struct linereader *ldfile, struct charmap_t *charmap, struct token *now; int warned = 0; - now = lr_token (ldfile, charmap, NULL, verbose); + now = lr_token (ldfile, charmap, result, NULL, verbose); if (now->tok != tok_string) lr_error (ldfile, _("expect string argument for `copy'")); else if (!ignore_content) @@ -74,8 +74,8 @@ locale name should consist only of portable characters")); /* The rest of the line must be empty and the next keyword must be `END xxx'. */ - while ((now = lr_token (ldfile, charmap, NULL, verbose))->tok != tok_end - && now->tok != tok_eof) + while ((now = lr_token (ldfile, charmap, result, NULL, verbose))->tok + != tok_end && now->tok != tok_eof) { if (warned == 0) { @@ -90,7 +90,7 @@ no other keyword shall be specified when `copy' is used")); if (now->tok != tok_eof) { /* Handle `END xxx'. */ - now = lr_token (ldfile, charmap, NULL, verbose); + now = lr_token (ldfile, charmap, result, NULL, verbose); if (now->tok != token) lr_error (ldfile, _("\ @@ -106,15 +106,15 @@ no other keyword shall be specified when `copy' is used")); /* Found in locfile.c. */ extern int locfile_read (struct localedef_t *result, - struct charmap_t *charmap); + const struct charmap_t *charmap); /* Check validity of all the locale data. */ extern void check_all_categories (struct localedef_t *definitions, - struct charmap_t *charmap); + const struct charmap_t *charmap); /* Write out all locale categories. */ extern void write_all_categories (struct localedef_t *definitions, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Write out the data. */ @@ -127,145 +127,147 @@ extern void write_locale_data (const char *output_path, const char *category, /* Handle LC_CTYPE category. */ extern void ctype_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void ctype_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void ctype_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); +extern uint32_t *find_translit (struct localedef_t *locale, + const struct charmap_t *charmap, uint32_t wch); /* Handle LC_COLLATE category. */ extern void collate_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void collate_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void collate_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_MONETARY category. */ extern void monetary_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void monetary_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void monetary_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_NUMERIC category. */ extern void numeric_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void numeric_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void numeric_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_MESSAGES category. */ extern void messages_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void messages_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void messages_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_TIME category. */ extern void time_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void time_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void time_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_PAPER category. */ extern void paper_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void paper_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void paper_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_NAME category. */ extern void name_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void name_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void name_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_ADDRESS category. */ extern void address_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void address_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void address_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_TELEPHONE category. */ extern void telephone_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void telephone_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void telephone_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_MEASUREMENT category. */ extern void measurement_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void measurement_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void measurement_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); /* Handle LC_IDENTIFICATION category. */ extern void identification_read (struct linereader *ldfile, struct localedef_t *result, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *repertoire_name, int ignore_content); extern void identification_finish (struct localedef_t *locale, - struct charmap_t *charmap); + const struct charmap_t *charmap); extern void identification_output (struct localedef_t *locale, - struct charmap_t *charmap, + const struct charmap_t *charmap, const char *output_path); #endif /* locfile.h */ |