PrevNextAll
newitem->prev = &p->next; newitem->next = p->next; if (newitem->next) newitem->next->prev = &newitem->next; p->next = newitem;
newitem->prev = &head; newitem->next = *head; if (newitem->next) newitem->next->prev = &newitem->next; head = newitem;