NAME
freelocale — free
resources allocated for a locale object
SYNOPSIS
void freelocale(locale_t locobj);
DESCRIPTION
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.
RETURN VALUE
None.
ERRORS
None.
EXAMPLES
Freeing Up a Locale Object
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);
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
duplocale(3), getlocalename_l(3), newlocale(3), uselocale(3)
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(3) to the SEE ALSO section.