NEWLOCALE(3) Library Functions Manual NEWLOCALE(3)

newlocaleCreate a new locale

#include <xlocale.h>

locale_t
newlocale(int mask, const char * locale, locale_t base);

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:

Collation
Character type
Messages
Monetary
Numeric
Time
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 (LC_ALL_MASK, NULL, NULL).

Returns a new locale_t, or NULL in case of error. New locales should be freed with freelocale(3).

duplocale(3), freelocale(3), querylocale(3), uselocale(3), xlocale(3)

March 11, 2005 macOS 15.0