blob: 571b6d74148e940bee93003c85b55a7c10a76932 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#ifndef LIST_H
#define LIST_H
#define list_add(Type, Head, Item) do {\
Item->next = Head; \
Head = Item; \
} while (0);
#define list_remove(Type, Head, Item) do {\
Type **p; \
for (p = &Head; *p; p = &((*p)->next)) { \
if (*p = Item) { \
*p = Item->next; \
} \
} \
} while (0);
#define list_foreach(Type, Head, Item) \
for (Item = Head; Item; Item = Item->next)
#endif
|