UniFreeMem
Appearance
UniFreeMem frees memory allocated by UniQueryLocaleObject.
Syntax
int UniFreeMem (void *memory)
Parameters
- memory (void *) - in/out
- A pointer to the memory to be freed.
Returns
Return value (int) - returns
- ULS_SUCCESS
- Indicates success.
- ULS_BADOBJ
- Invalid pointer in memory.
Remarks
UniFreeMem frees memory allocated by ULS functions. For example, the memory allocated for the locale_name parameter of UniQueryLocaleObject should be freed using UniFreeMem.
Example
This example shows how to free memory allocated by a ULS function.
#include <stdio.h> #include <unidef.h> int main(void) { LocaleObject locale_object = NULL; int rc = ULS_SUCCESS; char *locale_name; /* Create a locale object for French in Canada */ rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER, (UniChar *)L"fr_CA", &locale_object); if (rc != ULS_SUCCESS) { printf("UniCreateLocaleObject error: return code = %u\n", rc); return 1; } /* Determine the locale name for the LC_MESSAGES category */ rc = UniQueryLocaleObject(locale_object, LC_MESSAGES, UNI_MBS_STRING_POINTER, (void **)&locale_name); if (rc != ULS_SUCCESS) { printf("UniQueryLocaleObject error: return code = %u\n", rc); return 1; } /* Free the memory allocated by UniQueryLocaleObject */ rc = UniFreeMem((void *)locale_name); if (rc != ULS_SUCCESS) { printf("UniFreeMem error: return code = %u\n", rc); return 1; } return ULS_SUCCESS; }
Format
#include <unidef.h> int UniFreeMem ( void *memory /* I - Pointer to memory */ )