]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Added macros for walking lists backwards.
authorMartin Mares <mj@ucw.cz>
Tue, 3 Aug 1999 19:31:30 +0000 (19:31 +0000)
committerMartin Mares <mj@ucw.cz>
Tue, 3 Aug 1999 19:31:30 +0000 (19:31 +0000)
lib/lists.h

index 2d91ca55584f02326cc5c3f592a61aea21b7e1b1..acab292e919080d7f1c36a2eee776ba94ccbdbb7 100644 (file)
@@ -24,6 +24,10 @@ typedef struct list {                        /* In fact two overlayed nodes */
                                n=(void *)((NODE (n))->next))
 #define WALK_LIST_DELSAFE(n,nxt,list) \
      for(n=HEAD(list); nxt=(void *)((NODE (n))->next); n=(void *) nxt)
+#define WALK_LIST_BACKWARDS(n,list) for(n=TAIL(list);(NODE (n))->prev; \
+                               n=(void *)((NODE (n))->prev))
+#define WALK_LIST_BACKWARDS_DELSAFE(n,prv,list) \
+     for(n=TAIL(list); prv=(void *)((NODE (n))->prev); n=(void *) prv)
 
 #define EMPTY_LIST(list) (!(list).head->next)