rem: if (list->link.prev == (list_link *)list) list->link.prev = link;
add: list->link.next->prev = link;
context: list_add_link_to_head(struct list *list, void *_link){	list_link *link = (list_link *)_link;	link->next = list->link.next;	link->prev = (list_link *)list;	link->next->prev = link;	if (list->link.prev == (list_link *)list)		list->link.prev = link;	list->link.next = link;}