Browse Source

fix uselocale((locale_t)0) not to modify locale

commit 68630b55c0 made the new locale to
be assigned unconditonally resulting in crashes later on.
master
Timo Teräs 11 years ago
committed by Rich Felker
parent
commit
63f4b9f18f
  1. 4
      src/locale/uselocale.c

4
src/locale/uselocale.c

@ -8,9 +8,7 @@ locale_t __uselocale(locale_t new)
locale_t old = self->locale;
locale_t global = &libc.global_locale;
if (new == LC_GLOBAL_LOCALE) new = global;
self->locale = new;
if (new) self->locale = new == LC_GLOBAL_LOCALE ? global : new;
return old == global ? LC_GLOBAL_LOCALE : old;
}

Loading…
Cancel
Save