diff options
author | Daniel Golle <daniel@makrotopia.org> | 2021-11-12 23:04:29 +0300 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2021-11-20 20:44:11 +0300 |
commit | cce5e351278b307af7f69931971e3d4e060117d7 (patch) | |
tree | f79f5d0a076433676c7ce90d9b6bcf4c9a87976f /vlist.h | |
parent | c86a894ec63d83ecf2c373bbf9dc8fba9713d942 (diff) |
vlist: define vlist_for_each_element_safe
Yet another macro wrapper around the corresponding avl_* macro.
This new macro makes it possible to iterate over vlists in ways which
may have destructive consequences without being punished by segfault.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'vlist.h')
-rw-r--r-- | vlist.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -72,6 +72,9 @@ void vlist_flush_all(struct vlist_tree *tree); #define vlist_for_each_element(tree, element, node_member) \ avl_for_each_element(&(tree)->avl, element, node_member.avl) +#define vlist_for_each_element_safe(tree, element, node_member, ptr) \ + avl_for_each_element_safe(&(tree)->avl, element, node_member.avl, ptr) + #define vlist_for_each_element_reverse(tree, element, node_member) \ avl_for_each_element_reverse(&(tree)->avl, element, node_member.avl) |