diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2010-03-31 21:12:35 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2010-03-31 21:12:35 (GMT) |
commit | 7cbdd17b441b35d48624956aa438bde69f18bc37 (patch) | |
tree | 438af8d0a994d6e203cf66ea91cf336bb071ee44 /src/common/dllist.h | |
parent | d5e55f2ad015781bd7bee0e3216e47d6218e0841 (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.h | 7 |
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)) |