qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [5798] Add TAILQ_FOREACH_SAFE (Jan Kiszka)


From: Anthony Liguori
Subject: [Qemu-devel] [5798] Add TAILQ_FOREACH_SAFE (Jan Kiszka)
Date: Tue, 25 Nov 2008 22:05:40 +0000

Revision: 5798
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5798
Author:   aliguori
Date:     2008-11-25 22:05:37 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Add TAILQ_FOREACH_SAFE (Jan Kiszka)

Add TAILQ iterator that allows to safely remove elements while walking
the list.

Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>

Modified Paths:
--------------
    trunk/sys-queue.h

Modified: trunk/sys-queue.h
===================================================================
--- trunk/sys-queue.h   2008-11-25 21:50:24 UTC (rev 5797)
+++ trunk/sys-queue.h   2008-11-25 22:05:37 UTC (rev 5798)
@@ -210,6 +210,11 @@
                 (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);     \
+                (var) = (next_var))
+
 #define TAILQ_FOREACH_REVERSE(var, head, headname, field)               \
         for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));   
 \
                 (var);                                                  \






reply via email to

[Prev in Thread] Current Thread [Next in Thread]