The Open Group Base Specifications Issue 7
IEEE Std 1003.1, 2013 Edition
Copyright © 2001-2013 The IEEE and The Open Group

#### NAME

> uselocale - use locale in current thread

#### SYNOPSIS

> ``[CX] #include <locale.h>
> locale_t uselocale(locale_t` newloc`);``
> `
> `

#### DESCRIPTION

> The uselocale() function shall set the current locale for the current thread to the locale represented by newloc.

> The value for the newloc argument shall be one of the following:

> 1. A value returned by the newlocale() or duplocale() functions

> 2. The special locale object descriptor LC_GLOBAL_LOCALE

> 3. (locale_t)0

> Once the uselocale() function has been called to install a thread-local locale, the behavior of every interface using data from the current locale shall be affected for the calling thread. The current locale for other threads shall remain unchanged.

> If the newloc argument is (locale_t)0, the object returned is the current locale or LC_GLOBAL_LOCALE if there has been no previous call to uselocale() for the current thread.

> If the newloc argument is LC_GLOBAL_LOCALE, the thread shall use the global locale determined by the setlocale() function.

#### RETURN VALUE

> Upon successful completion, the uselocale() function shall return the locale handle from the previous call for the current thread, or LC_GLOBAL_LOCALE if there was no such previous call. Otherwise, uselocale() shall return ( locale_t)0 and set errno to indicate the error.

#### ERRORS

> The uselocale() function may fail if:

> [EINVAL]
>   locale is not a valid locale object.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> Unlike the setlocale() function, the uselocale() function does not allow replacing some locale categories only. Applications that need to install a locale which differs only in a few categories must use newlocale() to change a locale object equivalent to the currently used locale and install it.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> duplocale, freelocale, newlocale, setlocale

> XBD <locale.h>

#### CHANGE HISTORY

> First released in Issue 7.

> POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0700 [290] and XSH/TC1-2008/0701 [334] are applied.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2013 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]