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