/** * g_mime_header_list_destroy: * @headers: a #GMimeHeaderList * * Destroy the header list. **/ void g_mime_header_list_destroy (GMimeHeaderList *headers) { GMimeHeader *header, *next; if (!headers) return; header = (GMimeHeader *) headers->list.head; while (header->next) { next = header->next; g_mime_header_free (header); header = next; } g_hash_table_destroy (headers->writers); g_hash_table_destroy (headers->hash); if (headers->stream) g_object_unref (headers->stream); g_mime_event_destroy (headers->changed); g_slice_free (GMimeHeaderList, headers); }
static void internet_address_finalize (GObject *object) { InternetAddress *ia = (InternetAddress *) object; g_mime_event_destroy (ia->priv); g_free (ia->name); G_OBJECT_CLASS (parent_class)->finalize (object); }
static void g_mime_content_type_finalize (GObject *object) { GMimeContentType *content_type = (GMimeContentType *) object; g_hash_table_destroy (content_type->param_hash); g_mime_param_destroy (content_type->params); g_mime_event_destroy (content_type->priv); g_free (content_type->subtype); g_free (content_type->type); G_OBJECT_CLASS (parent_class)->finalize (object); }
static void internet_address_list_finalize (GObject *object) { InternetAddressList *list = (InternetAddressList *) object; InternetAddress *ia; guint i; for (i = 0; i < list->array->len; i++) { ia = (InternetAddress *) list->array->pdata[i]; g_mime_event_remove (ia->priv, (GMimeEventCallback) address_changed, list); g_object_unref (ia); } g_mime_event_destroy (list->priv); g_ptr_array_free (list->array, TRUE); G_OBJECT_CLASS (list_parent_class)->finalize (object); }