diff options
author | Daniel Golle <daniel@makrotopia.org> | 2021-11-12 20:04:29 +0000 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2021-11-20 17:44:11 +0000 |
commit | cce5e351278b307af7f69931971e3d4e060117d7 (patch) | |
tree | f79f5d0a076433676c7ce90d9b6bcf4c9a87976f | |
parent | c86a894ec63d83ecf2c373bbf9dc8fba9713d942 (diff) | |
download | libubox-cce5e351278b307af7f69931971e3d4e060117d7.tar.gz |
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>
-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) |