Set the destroy method callback for a data type
int SLclass_set_destroy_function (cl, destroy_fun)
SLang_Class_Type *cl
void (*destroy_fun) (unsigned char, VOID_STAR);
SLclass_set_destroy_function is used to set the destroy
callback for a data type. The data type's class cl must have
been previously obtained via a call to SLclass_allocate_class.
When called, destroy_fun will be passed two arguments: a
unsigned char which represents the data type, and the address of the
object to be destroyed.
SLclass_set_destroy_function returns zero upon success, and
-1 upon failure.
The destroy method for SLANG_STRING_TYPE looks like:
static void string_destroy (unsigned char type, VOID_STAR ptr)
{
char *s = *(char **) ptr;
if (s != NULL) SLang_free_slstring (*(char **) s);
}
Data types of class SLANG_CLASS_TYPE_SCALAR do not require a destroy callback. However, other classes do.
SLclass_allocate_class, SLclass_register_class