NAME

freelocale — free resources allocated for a locale object

SYNOPSIS

[CX] [Option Start] #include <locale.h>

void freelocale(locale_t
locobj); [Option End]

DESCRIPTION

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

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.

RETURN VALUE

None.

ERRORS

None.


The following sections are informative.

EXAMPLES

Freeing Up a Locale Object

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

#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);

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

duplocale , getlocalename_l , newlocale , uselocale

XBD <locale.h>

CHANGE HISTORY

First released in Issue 7.

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

Issue 8

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() to the SEE ALSO section.

End of informative text.