diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-20 23:10:34 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-20 23:10:34 +0000 |
commit | 69f6a804b0947fb5c6bdbc007d71fa8b8e7bab08 (patch) | |
tree | 0c2d1beec2594f3ef81ee412e4cfee0749856d4b /locale/programs | |
parent | c6c6dd4803a9ec8d7302b9ed8552ad15516baeb6 (diff) | |
download | glibc-69f6a804b0947fb5c6bdbc007d71fa8b8e7bab08.tar.gz glibc-69f6a804b0947fb5c6bdbc007d71fa8b8e7bab08.tar.xz glibc-69f6a804b0947fb5c6bdbc007d71fa8b8e7bab08.zip |
* locale/programs/localedef.c (add_to_readlist): Error about
circular dependencies only if the locale in question hasn't been finished. * locale/programs/linereader.c (get_string): Pass LC_CTYPE not CTYPE_LOCALE to load_locale. * locale/programs/locfile.c (locfile_read): Don't include unneeded but available locales in locale_mask. * locale/programs/locarchive.c (enlarge_archive): If quiet, don't print any messages about enlarging archive.
Diffstat (limited to 'locale/programs')
-rw-r--r-- | locale/programs/linereader.c | 2 | ||||
-rw-r--r-- | locale/programs/localedef.c | 4 | ||||
-rw-r--r-- | locale/programs/locarchive.c | 5 | ||||
-rw-r--r-- | locale/programs/locfile.c | 2 |
4 files changed, 8 insertions, 5 deletions
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c index f569d1b9b8..e21616538f 100644 --- a/locale/programs/linereader.c +++ b/locale/programs/linereader.c @@ -735,7 +735,7 @@ non-symbolic character value should not be used")); int old_needed = locale->needed; locale->needed = 0; - locale = load_locale (CTYPE_LOCALE, + locale = load_locale (LC_CTYPE, locale->name, locale->repertoire_name, charmap, locale); diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c index 5bbf0bf7e3..64b1d44637 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c @@ -561,7 +561,9 @@ add_to_readlist (int locale, const char *name, const char *repertoire_name, } } - if (generate && (runp->needed & (1 << locale)) != 0) + if (generate + && (runp->needed & (1 << locale)) != 0 + && (runp->avail & (1 << locale)) == 0) WITH_CUR_LOCALE (error (5, 0, _("\ circular dependencies between locale definitions"))); diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c index ea2cf82792..498321442f 100644 --- a/locale/programs/locarchive.c +++ b/locale/programs/locarchive.c @@ -259,8 +259,9 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) should be double from what is currently used. */ newhead.namehash_size = MAX (next_prime (2 * newhead.namehash_used), newhead.namehash_size); - printf ("name: size: %u, used: %d, new: size: %u\n", - head->namehash_size, head->namehash_used, newhead.namehash_size); + if (! be_quiet) + printf ("name: size: %u, used: %d, new: size: %u\n", + head->namehash_size, head->namehash_used, newhead.namehash_size); newhead.string_offset = (newhead.namehash_offset + (newhead.namehash_size diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c index 389adf1ee3..c5e5581ac5 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -47,7 +47,7 @@ locfile_read (struct localedef_t *result, const struct charmap_t *charmap) { const char *filename = result->name; const char *repertoire_name = result->repertoire_name; - int locale_mask = result->needed ^ result->avail; + int locale_mask = result->needed & ~result->avail; struct linereader *ldfile; int not_here = ALL_LOCALES; |