gd_free_entry_strings man page
gd_free_entry_strings — free strings in a GetData gd_entry_t object
gd_entry_t *gd_free_entry_strings(gd_entry_t *entry);
The gd_free_entry_strings() function frees the character strings found in the gd_entry_t object entry which were previously allocated by a call to gd_entry(3). After freeing a string, the associated pointer is set to NULL. If entry is NULL, this function does nothing.
If non-NULL, entry must point to a valid and properly initialised gd_entry_t object, such as that returned by gd_entry(3). As well, the caller may construct a properly initialised gd_entry_t object by first setting all bits to zero, then setting the field_type parameter to the desired gd_entype_t symbol, and finally initialising only the members defined for that type. The results of calling this function are undefined if the character strings pointed to by the string members of entry have not been allocated with malloc(3), unless these pointer members are equal to NULL.
See gd_entry(3) for a description of the gd_entry_t data type.
The function gd_free_entry_strings() always returns its input, entry.
This function is provided as a convenience only. Callers may free strings allocated by gd_entry(3) themselves by simply calling free(3) on the appropriate members for the given entry type, if they prefer to do so.