mirror of git://git.musl-libc.org/musl
33 lines
448 B
C
33 lines
448 B
C
|
#include <search.h>
|
||
|
|
||
|
struct node {
|
||
|
struct node *next;
|
||
|
struct node *prev;
|
||
|
};
|
||
|
|
||
|
void insque(void *element, void *pred)
|
||
|
{
|
||
|
struct node *e = element;
|
||
|
struct node *p = pred;
|
||
|
|
||
|
if (!p) {
|
||
|
e->next = e->prev = 0;
|
||
|
return;
|
||
|
}
|
||
|
e->next = p->next;
|
||
|
e->prev = p;
|
||
|
p->next = e;
|
||
|
if (e->next)
|
||
|
e->next->prev = e;
|
||
|
}
|
||
|
|
||
|
void remque(void *element)
|
||
|
{
|
||
|
struct node *e = element;
|
||
|
|
||
|
if (e->next)
|
||
|
e->next->prev = e->prev;
|
||
|
if (e->prev)
|
||
|
e->prev->next = e->next;
|
||
|
}
|