X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flist.h;h=3cf18f15473b74ffdc94499f3da2d5a5990bf800;hp=9380f362f1e1c7f1acf7f59640514b843fceca1f;hb=e04aad61bb5eff117e51631727a3ef2807c75d6b;hpb=03467c88fba6caeffce2a57a31ee2344e3d3ba31 diff --git a/src/list.h b/src/list.h index 9380f362f..3cf18f154 100644 --- a/src/list.h +++ b/src/list.h @@ -77,7 +77,7 @@ do { \ t *_item = (item); \ assert(_item); \ - while ((_item->name##_prev) \ + while (_item->name##_prev) \ _item = _item->name##_prev; \ (head) = _item; \ } while (false) @@ -116,4 +116,10 @@ #define LIST_FOREACH_SAFE(name,i,n,head) \ for ((i) = (head); (i) && (((n) = (i)->name##_next), 1); (i) = (n)) +#define LIST_FOREACH_BEFORE(name,i,p) \ + for ((i) = (p)->name##_prev; (i); (i) = (i)->name##_prev) + +#define LIST_FOREACH_AFTER(name,i,p) \ + for ((i) = (p)->name##_next; (i); (i) = (i)->name##_next) + #endif