summaryrefslogtreecommitdiffstats
path: root/newlib/libc/locale/uselocale.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/locale/uselocale.c')
-rw-r--r--newlib/libc/locale/uselocale.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/newlib/libc/locale/uselocale.c b/newlib/libc/locale/uselocale.c
index dbf0d3393..810590fc0 100644
--- a/newlib/libc/locale/uselocale.c
+++ b/newlib/libc/locale/uselocale.c
@@ -1,3 +1,55 @@
+/*
+FUNCTION
+ <<uselocale>>---free resources allocated for a locale object
+
+INDEX
+ uselocale
+
+INDEX
+ _uselocale_r
+
+ANSI_SYNOPSIS
+ #include <locale.h>
+ locale_t uselocale(locale_t <[locobj]>);
+
+ locale_t _uselocale_r(void *<[reent]>, locale_t <[locobj]>);
+
+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.
+
+RETURNS
+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.
+
+
+PORTABILITY
+<<uselocale>> is POSIX-1.2008.
+*/
+
#include <newlib.h>
#include <reent.h>
#include <stdlib.h>