From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51420) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLx5q-0007i8-7F for qemu-devel@nongnu.org; Tue, 27 Dec 2016 14:07:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLx5n-0003Pr-2t for qemu-devel@nongnu.org; Tue, 27 Dec 2016 14:07:26 -0500 Received: from roura.ac.upc.edu ([147.83.33.10]:35876 helo=roura.ac.upc.es) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLx5m-0003Pf-MI for qemu-devel@nongnu.org; Tue, 27 Dec 2016 14:07:23 -0500 From: =?utf-8?Q?Llu=C3=ADs_Vilanova?= References: <148285303159.12721.5833400768046299304.stgit@fimbulvetr.bsc.es> <148285304262.12721.17599380934779528989.stgit@fimbulvetr.bsc.es> Date: Tue, 27 Dec 2016 20:07:17 +0100 In-Reply-To: (Peter Maydell's message of "Tue, 27 Dec 2016 15:53:05 +0000") Message-ID: <87zijhry1m.fsf@fimbulvetr.bsc.es> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3 2/6] queue: Add macro for incremental traversal List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Paolo Bonzini , Richard Henderson , QEMU Developers , Peter Crosthwaite Peter Maydell writes: > On 27 December 2016 at 15:37, Llu=C3=ADs Vilanova w= rote: >> Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list >> traversal. >>=20 >> Signed-off-by: Llu=C3=ADs Vilanova >> --- >> include/qemu/queue.h | 5 +++++ >> 1 file changed, 5 insertions(+) >>=20 >> diff --git a/include/qemu/queue.h b/include/qemu/queue.h >> index 342073fb4d..0d709016f4 100644 >> --- a/include/qemu/queue.h >> +++ b/include/qemu/queue.h >> @@ -415,6 +415,11 @@ struct { = \ >> (var); \ >> (var) =3D ((var)->field.tqe_next)) >>=20 >> +#define QTAILQ_FOREACH_CONTINUE(var, field) = \ >> + for ((var) =3D ((var)->field.tqe_next); = \ >> + (var); = \ >> + (var) =3D ((var)->field.tqe_next)) >> + >> #define QTAILQ_FOREACH_SAFE(var, head, field, next_var) \ >> for ((var) =3D ((head)->tqh_first); \ >> (var) && ((next_var) =3D ((var)->field.tqe_next), 1); \ > Could we have some documentation for the new macro, please? Sure thing. Lluis