freelocale — free resources allocated for a locale object
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.
None.
None.
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);
None.
None.
None.
duplocale , getlocalename_l , newlocale , uselocale
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() to the SEE ALSO section.
return to top of page