summaryrefslogtreecommitdiff
path: root/src/common/dllist.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-03-31 21:12:35 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-03-31 21:12:35 (GMT)
commit7cbdd17b441b35d48624956aa438bde69f18bc37 (patch)
tree438af8d0a994d6e203cf66ea91cf336bb071ee44 /src/common/dllist.h
parentd5e55f2ad015781bd7bee0e3216e47d6218e0841 (diff)
Implemented first steps to a Python plugins support.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@146 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/common/dllist.h')
-rw-r--r--src/common/dllist.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/common/dllist.h b/src/common/dllist.h
index 499151e..504291e 100644
--- a/src/common/dllist.h
+++ b/src/common/dllist.h
@@ -121,6 +121,10 @@ void __dl_list_del(dl_list_item *, dl_list_head *);
(iter->member.next == &head->member ? \
NULL : container_of(iter->member.next, type, member))
+#define dl_list_prev_iter(iter, head, type, member) \
+ (&iter->member == &head->member ? \
+ NULL : container_of(iter->member.prev, type, member))
+
#define dl_list_for_each(pos, head, type, member) \
for (pos = head; \
pos != NULL; \
@@ -140,8 +144,7 @@ void __dl_list_del(dl_list_item *, dl_list_head *);
#define dl_list_for_each_rev(pos, head, type, member) \
for (pos = dl_list_last(head, type, member); \
pos != NULL; \
- pos = (pos == head ? \
- NULL : container_of(pos->member.prev, type, member)))
+ pos = dl_list_prev_iter(pos, (head), type, member))