summaryrefslogtreecommitdiffstats
path: root/lib/lists.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-11-04 17:22:43 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2010-11-04 17:22:43 +0100
commitd5356072ac18d5b0eb12f14afca6bfbea702dda2 (patch)
tree3013ad55e7750ede3fdcae459a2fb1b72b60614a /lib/lists.h
parentd3209d939d4d0d8801432f212edd4302a7d03633 (diff)
downloadbird-d5356072ac18d5b0eb12f14afca6bfbea702dda2.tar
bird-d5356072ac18d5b0eb12f14afca6bfbea702dda2.zip
Fixes a bug in LSA update of large LSAs.
Diffstat (limited to 'lib/lists.h')
-rw-r--r--lib/lists.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/lists.h b/lib/lists.h
index 342dfd6..6fab12c 100644
--- a/lib/lists.h
+++ b/lib/lists.h
@@ -33,10 +33,10 @@ typedef struct list { /* In fact two overlayed nodes */
#define NODE (node *)
#define HEAD(list) ((void *)((list).head))
#define TAIL(list) ((void *)((list).tail))
-#define WALK_LIST(n,list) for(n=HEAD(list);(NODE (n))->next; \
- n=(void *)((NODE (n))->next))
+#define NODE_NEXT(n) ((void *)((NODE (n))->next))
+#define WALK_LIST(n,list) for(n=HEAD(list);(NODE (n))->next; n=NODE_NEXT(n))
#define WALK_LIST_DELSAFE(n,nxt,list) \
- for(n=HEAD(list); nxt=(void *)((NODE (n))->next); n=(void *) nxt)
+ for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt)
/* WALK_LIST_FIRST supposes that called code removes each processed node */
#define WALK_LIST_FIRST(n,list) \
while(n=HEAD(list), (NODE (n))->next)