NAME
newlocale
—
Create a new locale
SYNOPSIS
#include
<xlocale.h>
locale_t
newlocale
(int
mask, const char *
locale, locale_t
base);
DESCRIPTION
Creates a new locale_t based off the locale specified by base. The categories specified by mask will be replaced to correspond with the named locale.
The mask is the logical OR of the following:
LC_COLLATE_MASK
- Collation
LC_CTYPE_MASK
- Character type
LC_MESSAGES_MASK
- Messages
LC_MONETARY_MASK
- Monetary
LC_NUMERIC_MASK
- Numeric
LC_TIME_MASK
- Time
LC_ALL_MASK
- The logical OR of all of the above
The locale string is typically the name of
one of the directories in /usr/share/locale. If
locale is NULL
, then the C
locale is used. If locale is an empty string, then it
will look for environment variables: LC_ALL, then LC_* if the corresponding
LC_*_MASK bit is set, then the LANG environment variable. If none of these
are found, it will default to the C locale.
If base is NULL
, the
current locale is used. If base is
LC_GLOBAL_LOCALE
, the global locale is used.
If mask is
LC_ALL_MASK
, base is ignored.
In order to create a C locale_t value, use
newlocale
(LC_ALL_MASK,
NULL, NULL).
RETURN VALUES
Returns a new locale_t, or
NULL
in case of error. New locales should be freed
with freelocale(3).
SEE ALSO
duplocale(3), freelocale(3), querylocale(3), uselocale(3), xlocale(3)