From 69f6a804b0947fb5c6bdbc007d71fa8b8e7bab08 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 20 Aug 2002 23:10:34 +0000 Subject: * 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. --- locale/programs/linereader.c | 2 +- locale/programs/localedef.c | 4 +++- locale/programs/locarchive.c | 5 +++-- locale/programs/locfile.c | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) (limited to 'locale') 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; -- cgit v1.2.3