From b6628a8c98fa53c1b293221ad0f7e0611cb0b76d Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 3 Aug 1999 19:31:30 +0000 Subject: Added macros for walking lists backwards. --- lib/lists.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/lists.h') diff --git a/lib/lists.h b/lib/lists.h index 2d91ca5..acab292 100644 --- a/lib/lists.h +++ b/lib/lists.h @@ -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) -- cgit v1.2.3