X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Flocale%2Fuselocale.c;h=0fc5ecbc07f29437e1afb66815074360bfd360cb;hb=41b290ba397067a09525b6ac89b4040728349046;hp=4fc5c64ed118245fdb910d9560524dae1defee00;hpb=df15168cf8baf34fb9c94e19eaa1a5c79c853970;p=musl diff --git a/src/locale/uselocale.c b/src/locale/uselocale.c index 4fc5c64e..0fc5ecbc 100644 --- a/src/locale/uselocale.c +++ b/src/locale/uselocale.c @@ -2,12 +2,15 @@ #include "pthread_impl.h" #include "libc.h" -locale_t uselocale(locale_t l) +locale_t __uselocale(locale_t new) { pthread_t self = __pthread_self(); locale_t old = self->locale; - if (l) self->locale = l; - return old; + locale_t global = &libc.global_locale; + + if (new) self->locale = new == LC_GLOBAL_LOCALE ? global : new; + + return old == global ? LC_GLOBAL_LOCALE : old; } -weak_alias(uselocale, __uselocale); +weak_alias(__uselocale, uselocale);