23 return head->next == head;
28 node->prev->next = node->next;
29 node->next->prev = node->prev;
48static void list_node_insert(list_node_t *prev, list_node_t *new_node, list_node_t *next)
50 new_node->prev = prev;
51 new_node->next = next;
52 prev->next = new_node;
53 next->prev = new_node;
58 list_node_t *node = head->next;
void linked_list_init(list_node_t *node)
Initialise a circular double linked list.
list_node_t * list_node_pop(list_node_t *head)
void list_node_append(list_node_t *head, list_node_t *item)
void list_node_insert_before(list_node_t *element, list_node_t *item)
void list_node_prepend(list_node_t *head, list_node_t *item)
bool list_is_empty(const list_node_t *head)
void list_node_remove(list_node_t *node)
void list_node_insert_after(list_node_t *element, list_node_t *item)
static void list_node_insert(list_node_t *prev, list_node_t *new_node, list_node_t *next)
Insert a node into a list.