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("UniFreeMemObject error: return code = %u\n", rc);
           return 1;
         }

         return ULS_SUCCESS;


}


[Back: UniFreeMem - Related Functions]
[Next: UniFreeMem - Topics]