Print this page
Garrett's man page edits.
@@ -9,114 +9,87 @@
.\" source. A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
.\"
.\" Copyright (c) 2014 Joyent, Inc. All rights reserved.
+.\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
.\"
-.TH USELOCALE 3C "Jun 11, 2014"
+.TH USELOCALE 3C "Jun 24, 2014"
.SH NAME
-
uselocale \- get and set the locale for an individual thread
-
.SH SYNOPSIS
-
.LP
.nf
#include <locale.h>
-.BI "locale_t uselocale(locale_t " loc );
-
+\fBlocale_t\fR \fBuselocale\fR(\fBlocale_t\fR \fIloc\fR);
+.fi
.SH DESCRIPTION
.LP
-
The
.B uselocale()
function is used to obtain and set the current locale for a thread. When
a thread is created, it uses the global locale as specified by calls to
.BR setlocale() .
-A call to
-.B uselocale()
-causes all operations in the thread to use the locale specified in
-.IR loc .
-The thread ignores all subsequent changes to the global locale that
-occur through calls to
-.BR setlocale() .
-When the special locale,
-.BR LC_GLOBAL_LOCALE ,
-is passed in to
-.BR uselocale() ,
-the thread returns to using the global locale, and subsequent calls to
-.B setlocale()
-cause changes for the thread.
-
.LP
-In addition,
-.B uselocale()
-can be used to obtain the current locale in use by thread, this is done
-by passing in the special locale
-.BR (locale_t) 0.
-If the thread has never set a locale through
-.BR uselocale() ,
-then the current global locale as determined through calls to
-.B setlocale()
-will be returned.
-
+If
+.BR (locale_t) 0
+is supplied for
+.IR loc ,
+then no change is made to the thread's locale setting. This can be used
+to query the thread's locale without making any change.
.LP
-Locale objects to pass in to
+If
+.B LC_GLOBAL_LOCALE
+is supplied for
+.IR loc ,
+then the thread will use the global locale, undoing the effect of any
+prior call to establish a thread-specific locale.
+.LP
+Otherwise the thread will use the supplied
+.I loc
+locale object as a thread-specific locale. Changes to the global
+locale, or to the locale of any other thread, will not affect this thread.
+.LP
+Locale objects for use with
.B uselocale()
-can be created and destroyed with the functions
-.BR duplocale (3C),
-.BR newlocale (3C),
+can be created with the functions
+.BR duplocale (3C)
and
-.BR freelocale (3C).
-
+.BR newlocale (3C).
.SH RETURN VALUES
-
Upon successful completion, the
.B uselocale()
function always returns the previous locale that was set. If no locale
was previously set, the global locale,
.BR LC_GLOBAL_LOCALE ,
-is returned. If the locale object
-.I loc
-is the special locale
-.BR (lcoale_t) 0,
-then the current locale of the thread is not updated. On failure, the
+is returned. On failure, the
.B uselocale()
function returns
-.B (locale_t) 0, and sets
+.BR (locale_t) 0,
+and sets
.B errno
to indicate the error.
-
.SH ERRORS
-
-.sp
-.ne 2
-.na
+.TP
.B EINVAL
-.ad
-.RS 10n
An invalid locale was encountered or an internal error occurred that
caused the system to be unable to update the locale.
-.RE
-
.SH ATTRIBUTES
-.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE ATTRIBUTE VALUE
_
Interface Stability Standard
_
-MT-Level Safe
+MT-Level MT-Safe
.TE
.SH SEE ALSO
.BR locale (1),
.BR duplocale (3C),
.BR newlocale (3C),
.BR setlocale (3C),
-.BR environ (5),
.BR locale (5)