The PERM_FREE macro is a platform-independent substitute for the C library routine free. This macro deallocates the persistent space previously allocated by PERM_MALLOC, PERM_CALLOC, or PERM_STRDUP.
Calling PERM_FREE for a block that was allocated with MALLOC, CALLOC, or STRTUP will not work.
void *ptr is a (void *) pointer to a block of memory. If the pointer is not the one created by PERM_MALLOC, PERM_CALLOC, or PERM_STRDUP, the behavior is undefined.
char *name; name = (char *) PERM_MALLOC(256); ... PERM_FREE(name);