Something
public text v1 · immutablevoid delete_list (list_ref list) {
listnode_ref tempnode = 0;
assert (is_list (list));
assert (! empty_list (list));
tempnode = list->curr;
if (list->curr->next != NULL){
list->curr->prev = tempnode->next;
list->curr = tempnode->next;
}else{
list->last->prev = tempnode->prev;
list->curr = list->last;
}
free (tempnode);
}