[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/2] Add TAILQ_FOREACH_SAFE
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 1/2] Add TAILQ_FOREACH_SAFE |
Date: |
Wed, 19 Nov 2008 14:48:57 +0100 |
User-agent: |
StGIT/0.14.2 |
Add TAILQ iterator that allows to safely remove elements while walking
the list.
Signed-off-by: Jan Kiszka <address@hidden>
---
sys-queue.h | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sys-queue.h b/sys-queue.h
index 3d0773e..b92a77f 100644
--- a/sys-queue.h
+++ b/sys-queue.h
@@ -210,6 +210,12 @@ struct {
\
(var); \
(var) = ((var)->field.tqe_next))
+#define TAILQ_FOREACH_SAFE(var, head, field, next_var) \
+ for ((var) = ((head)->tqh_first); \
+ (var) ? ({ (next_var) = ((var)->field.tqe_next); 1; }) \
+ : 0; \
+ (var) = (next_var))
+
#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));
\
(var); \
- [Qemu-devel] [PATCH 0/2] Use TAILQ for breakpoints, Jan Kiszka, 2008/11/19
- [Qemu-devel] [PATCH 2/2] Use sys-queue.h for break/watchpoint managment, Jan Kiszka, 2008/11/19
- [Qemu-devel] [PATCH 1/2] Add TAILQ_FOREACH_SAFE,
Jan Kiszka <=
- Re: [Qemu-devel] [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Anthony Liguori, 2008/11/19
- [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Jan Kiszka, 2008/11/19
- Re: [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Anthony Liguori, 2008/11/19
- [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Jan Kiszka, 2008/11/20
- Re: [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Jamie Lokier, 2008/11/20
- [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Jan Kiszka, 2008/11/24
- [Qemu-devel] Re: [PATCH 1/2] Add TAILQ_FOREACH_SAFE, Anthony Liguori, 2008/11/25