FREELOCALE(3) Library Functions Manual FREELOCALE(3)

freelocalefree resources allocated for a locale object


#include <locale.h>

void freelocale(locale_t locobj);

The freelocale () function shall cause the resources allocated for a locale object returned by a call to the newlocale(3) or duplocale(3) functions to be released. The freelocale () function shall not modify errno if locobj is a locale object previously returned by newlocale(3) or duplocale(3) and not yet released by freelocale () or newlocale(3).

The behavior is undefined if the locobj argument is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle.

Any use of a locale object that has been freed results in undefined behavior.

None.

None.

The following example shows a code fragment to free a locale object created by newlocale(3):

#include <locale.h>
...


/* Every locale object allocated with newlocale() should be
 * freed using freelocale():
 */


locale_t loc;


/* Get the locale. */


loc = newlocale (LC_CTYPE_MASK | LC_TIME_MASK, "locname", NULL);


/* ... Use the locale object ... */
...


/* Free the locale object resources. */
freelocale (loc);

None.

None.

None.

duplocale(3), getlocalename_l(3), newlocale(3), uselocale(3)

XBD <locale.h>

First released in Issue 7.

POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0180 [283] is applied.

Austin Group Defect 385 is applied, adding a requirement that freelocale () does not modify errno when passed a locale object than can be freed.

Austin Group Defect 1220 is applied, adding getlocalename_l(3) to the SEE ALSO section.

June 14, 2024 posix.fail