1*c9945492SAndroid Build Coastguard Worker #include "locale_impl.h" 2*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h" 3*c9945492SAndroid Build Coastguard Worker #include "libc.h" 4*c9945492SAndroid Build Coastguard Worker __uselocale(locale_t new)5*c9945492SAndroid Build Coastguard Workerlocale_t __uselocale(locale_t new) 6*c9945492SAndroid Build Coastguard Worker { 7*c9945492SAndroid Build Coastguard Worker pthread_t self = __pthread_self(); 8*c9945492SAndroid Build Coastguard Worker locale_t old = self->locale; 9*c9945492SAndroid Build Coastguard Worker locale_t global = &libc.global_locale; 10*c9945492SAndroid Build Coastguard Worker 11*c9945492SAndroid Build Coastguard Worker if (new) self->locale = new == LC_GLOBAL_LOCALE ? global : new; 12*c9945492SAndroid Build Coastguard Worker 13*c9945492SAndroid Build Coastguard Worker return old == global ? LC_GLOBAL_LOCALE : old; 14*c9945492SAndroid Build Coastguard Worker } 15*c9945492SAndroid Build Coastguard Worker 16*c9945492SAndroid Build Coastguard Worker weak_alias(__uselocale, uselocale); 17