From 34b80d3c834a3cefac36454647da3a18de3e8fbd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 2 Oct 2007 20:33:05 +0000 Subject: reindent llist.h git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@37 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce --- src/llist.h | 118 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 62 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/llist.h b/src/llist.h index 3d42218..f2a5e96 100644 --- a/src/llist.h +++ b/src/llist.h @@ -1,70 +1,76 @@ #ifndef foosydneyllistfoo #define foosydneyllistfoo - #include "macro.h" -#define SA_LLIST_HEAD(t,head) t* head - -#define SA_LLIST_ITEM(t,name) t* name##_prev, *name##_next +#define SA_LLIST_HEAD(t,head) \ + t* head -#define SA_LLIST_HEAD_INIT(t,head) (head) = (t*) NULL +#define SA_LLIST_ITEM(t,name) \ + t* name##_prev, *name##_next -#define SA_LLIST_ITEM_INIT(t,name,item) do { \ - t *_item = (item); \ - sa_assert(_item); \ - _item->name##_prev = _item->name##_next = NULL; \ - } while(0) +#define SA_LLIST_HEAD_INIT(t,head) \ + (head) = (t*) NULL -#define SA_LLIST_PREPEND(t,name,head,item) do { \ - t **_head = &(head), *_item = (item); \ - sa_assert(_item); \ - if ((_item->name##_next = *_head)) \ - _item->name##_next->name##_prev = _item; \ - _item->name##_prev = NULL; \ - *_head = _item; \ - } while (0) +#define SA_LLIST_ITEM_INIT(t,name,item) \ + do { \ + t *_item = (item); \ + sa_assert(_item); \ + _item->name##_prev = _item->name##_next = NULL; \ + } while(0) -#define SA_LLIST_INSERT_BEFORE(t,name,head,at,item) do { \ - t **_head = &(head), *_item = (item), *_at = (at); \ - sa_assert(_item); \ - sa_assert(_at); \ - if ((_item->name##_prev = _at->name##_prev)) { \ - sa_assert(_item->name##_prev->name##_next == _at); \ - _item->name##_prev->name##_next = _item; \ - } else {\ - sa_assert(*_head == _at); \ - *_head = _item; \ - } \ - _item->name##_next = _at; \ - _at->name##_prev = _item; \ - } while (0) +#define SA_LLIST_PREPEND(t,name,head,item) \ + do { \ + t **_head = &(head), *_item = (item); \ + sa_assert(_item); \ + if ((_item->name##_next = *_head)) \ + _item->name##_next->name##_prev = _item; \ + _item->name##_prev = NULL; \ + *_head = _item; \ + } while (0) -#define SA_LLIST_INSERT_AFTER(t,name,head,at,item) do { \ - t *_item = (item), *_at = (at); \ - sa_assert(_item); \ - sa_assert(_at); \ - if ((_item->name##_next = _at->name##_next)) { \ - sa_assert(_item->name##_next->name##_prev == _at); \ - _item->name##_next->name##_prev = _item; \ - } \ - _item->name##_prev = _at; \ - _at->name##_next = _item; \ - } while (0) +#define SA_LLIST_INSERT_BEFORE(t,name,head,at,item) \ + do { \ + t **_head = &(head), *_item = (item), *_at = (at); \ + sa_assert(_item); \ + sa_assert(_at); \ + if ((_item->name##_prev = _at->name##_prev)) { \ + sa_assert(_item->name##_prev->name##_next == _at); \ + _item->name##_prev->name##_next = _item; \ + } else { \ + sa_assert(*_head == _at); \ + *_head = _item; \ + } \ + _item->name##_next = _at; \ + _at->name##_prev = _item; \ + } while (0) -#define SA_LLIST_REMOVE(t,name,head,item) do { \ - t **_head = &(head), *_item = (item); \ - sa_assert(_item); \ - if (_item->name##_next) \ - _item->name##_next->name##_prev = _item->name##_prev; \ - if (_item->name##_prev) \ - _item->name##_prev->name##_next = _item->name##_next; \ - else {\ - sa_assert(*_head == _item); \ - *_head = _item->name##_next; \ - } \ - _item->name##_next = _item->name##_prev = NULL; \ - } while(0) +#define SA_LLIST_INSERT_AFTER(t,name,head,at,item) \ + do { \ + t *_item = (item), *_at = (at); \ + sa_assert(_item); \ + sa_assert(_at); \ + if ((_item->name##_next = _at->name##_next)) { \ + sa_assert(_item->name##_next->name##_prev == _at); \ + _item->name##_next->name##_prev = _item; \ + } \ + _item->name##_prev = _at; \ + _at->name##_next = _item; \ + } while (0) +#define SA_LLIST_REMOVE(t,name,head,item) \ + do { \ + t **_head = &(head), *_item = (item); \ + sa_assert(_item); \ + if (_item->name##_next) \ + _item->name##_next->name##_prev = _item->name##_prev; \ + if (_item->name##_prev) \ + _item->name##_prev->name##_next = _item->name##_next; \ + else { \ + sa_assert(*_head == _item); \ + *_head = _item->name##_next; \ + } \ + _item->name##_next = _item->name##_prev = NULL; \ + } while(0) #endif -- cgit