master
1#include <search.h>
2
3struct node {
4 struct node *next;
5 struct node *prev;
6};
7
8void insque(void *element, void *pred)
9{
10 struct node *e = element;
11 struct node *p = pred;
12
13 if (!p) {
14 e->next = e->prev = 0;
15 return;
16 }
17 e->next = p->next;
18 e->prev = p;
19 p->next = e;
20 if (e->next)
21 e->next->prev = e;
22}
23
24void remque(void *element)
25{
26 struct node *e = element;
27
28 if (e->next)
29 e->next->prev = e->prev;
30 if (e->prev)
31 e->prev->next = e->next;
32}