On 06/12/2017 07:54 AM, Lluís Vilanova wrote:
> Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
> traversal.
>
> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
> ---
> include/qemu/queue.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/include/qemu/queue.h b/include/qemu/queue.h
> index 35292c3155..eb2bf9cb1c 100644
> --- a/include/qemu/queue.h
> +++ b/include/qemu/queue.h
> @@ -415,6 +415,18 @@ struct { \
> (var); \
> (var) = ((var)->field.tqe_next))
>
> +/**
> + * QTAILQ_FOREACH_CONTINUE:
> + * @var: Variable to resume iteration from.
> + * @field: Field in @var holding a QTAILQ_ENTRY for this queue.
> + *
> + * Resumes iteration on a queue from the element in @var.
> + */
> +#define QTAILQ_FOREACH_CONTINUE(var, field) \
> + for ((var) = ((var)->field.tqe_next); \
> + (var); \
> + (var) = ((var)->field.tqe_next))
> +
> #define QTAILQ_FOREACH_SAFE(var, head, field, next_var) \
> for ((var) = ((head)->tqh_first); \
> (var) && ((next_var) = ((var)->field.tqe_next), 1); \
>
>
I still say this isn't required if the breakpoint loop is better structured.
r~