void delete_list (list_ref list) { assert (is_list (list)); assert (! empty_list (list)); if (list->curr->next != NULL){ list->curr->next->prev = list->curr->prev; list->curr = list->curr->next; }else{ list->curr = list->curr->next; list->last = list->curr->prev; } list->curr->prev->next = list->curr->next; }