Reference

newlocale(3)

Create a new locale

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)

History