From f1c972f7d955c9382f4b0d5b366ea6c95be24b32 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Mon, 8 Oct 2012 17:15:42 +0200 Subject: [PATCH] shl: dlist: add macros for iterating lists in reverse order These macros do the same as the already available macros but in reversed order. This is useful when list-order is important. Signed-off-by: David Herrmann --- src/shl_dlist.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/shl_dlist.h b/src/shl_dlist.h index 17ca8b3..8887f7f 100644 --- a/src/shl_dlist.h +++ b/src/shl_dlist.h @@ -109,4 +109,11 @@ static inline bool shl_dlist_empty(struct shl_dlist *head) for (iter = (head)->next, tmp = iter->next; iter != (head); \ iter = tmp, tmp = iter->next) +#define shl_dlist_for_each_reverse(iter, head) \ + for (iter = (head)->prev; iter != (head); iter = iter->prev) + +#define shl_dlist_for_each_reverse_safe(iter, tmp, head) \ + for (iter = (head)->prev, tmp = iter->prev; iter != (head); \ + iter = tmp, tmp = iter->prev) + #endif /* SHL_DLIST_H */ -- 2.7.4