#include struct s_linked_vptr {void *data_vptr; struct s_linked_vptr *next;}; extern void free (struct s_linked_vptr *); void free_chunk_memory (struct s_linked_vptr *chunk_ptr_head) { struct s_linked_vptr *curr_ptr, *prev_ptr; curr_ptr = chunk_ptr_head; while (curr_ptr != NULL) { free (curr_ptr->data_vptr); /* Free memory "chunk". */ prev_ptr = curr_ptr; curr_ptr = curr_ptr->next; free (prev_ptr); /* Free memory used to track "chunk". */ } }