/* Complexity: O(n) */ void queue_free_all(Queue *queue, FreeFn freefn) { assert(queue != NULL); /* Free queue container, slist, and slist data */ slist_free_all((SList *)queue, freefn); }
void slist_teardown(void) { assert_true(test_slist != NULL); slist_free_all(test_slist, NULL); test_slist = NULL; }
void test_slist_prepend_to_empty(void) { unsigned long *val = NULL; assert_true(test_slist == NULL); test_slist = slist_create(); assert_true(test_slist != NULL); assert_true(slist_is_empty(test_slist)); val = make_ulong_ptr(9999); assert_true(val != NULL); assert_true(slist_prepend(test_slist, val) == 0); /* Verify */ val = NULL; val = slist_index(test_slist, 0); assert_true(val != NULL); assert_ulong_equal(9999, *val); assert_true(slist_size(test_slist) == 1); slist_free_all(test_slist, NULL); test_slist = NULL; }
/** * Dispose of the header field. */ static void hfield_free(header_field_t *h) { header_field_check(h); slist_free_all(&h->lines, hfield_free_item); HFREE_NULL(h->name); h->magic = 0; WFREE(h); }
/** * Reset header object, for new header parsing. */ void header_reset(header_t *o) { header_check(o); if (o->headers != NULL) { htable_foreach_remove(o->headers, free_header_data, NULL); htable_free_null(&o->headers); } slist_free_all(&o->fields, cast_to_free_fn(hfield_free)); o->flags = o->size = o->num_lines = 0; }
/** * Reset header object, for new header parsing. */ void header_reset(header_t *o) { header_check(o); if (o->headers) { g_hash_table_foreach_remove(o->headers, free_header_data, NULL); gm_hash_table_destroy_null(&o->headers); } slist_free_all(&o->fields, cast_to_slist_destroy(hfield_free)); o->flags = o->size = o->num_lines = 0; }
void test_slist_reverse_empty(void) { assert_true(test_slist == NULL); test_slist = slist_create(); assert_true(test_slist != NULL); assert_true(slist_is_empty(test_slist)); assert_true(slist_reverse(test_slist) == 0); slist_free_all(test_slist, NULL); test_slist = NULL; }
void test_slist_remove_data_from_empty(void) { assert_true(test_slist == NULL); test_slist = slist_create(); assert_true(test_slist != NULL); assert_true(slist_is_empty(test_slist)); assert_true(slist_remove_data(test_slist, NULL) == -1); slist_free_all(test_slist, NULL); test_slist = NULL; }
/** * Free the pmsg list, including the list container, nullifying its pointer. */ void pmsg_slist_free_all(slist_t **slist_ptr) { slist_free_all(slist_ptr, cast_to_slist_destroy(pmsg_free)); }
/** * Free the pmsg list, including the list container, nullifying its pointer. */ void pmsg_slist_free_all(slist_t **slist_ptr) { slist_free_all(slist_ptr, cast_to_free_fn(pmsg_free)); }