From 536ad253225ab71d4adfc2c5f54391159412cb5f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 23 Mar 2010 21:26:03 +0000 Subject: [PATCH] * locale.cc (add_locale_alias_locales): Always use loc_num at function start to avoid confusing bsearch. --- winsup/utils/ChangeLog | 5 +++++ winsup/utils/locale.cc | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index 1d19c1864..834bf1a6a 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2010-03-23 Corinna Vinschen + + * locale.cc (add_locale_alias_locales): Always use loc_num at function + start to avoid confusing bsearch. + 2010-03-23 Corinna Vinschen * locale.cc: Revert accidental checkin of unfinished changes. diff --git a/winsup/utils/locale.cc b/winsup/utils/locale.cc index 0a480dc71..68acb8298 100644 --- a/winsup/utils/locale.cc +++ b/winsup/utils/locale.cc @@ -209,6 +209,7 @@ add_locale_alias_locales () const char *alias, *replace; char orig_locale[32]; loc_t search, *loc; + size_t orig_loc_num = loc_num; FILE *fp = fopen (LOCALE_ALIAS, "rt"); if (!fp) @@ -237,7 +238,7 @@ add_locale_alias_locales () if (c) *c = '\0'; search.name = replace; - loc = (loc_t *) bsearch (&search, locale, loc_num, sizeof (loc_t), + loc = (loc_t *) bsearch (&search, locale, orig_loc_num, sizeof (loc_t), compare_locales); add_locale (alias, loc ? loc->language : L"", loc ? loc->territory : L"", true);