From 7e7ec7574b82258a1cace4ee2057f5888d20b73a Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Thu, 12 Aug 2004 14:57:29 +0000 Subject: [PATCH] Add LIST_FOREACH_MUTABLE which works like TAILQ_FOREACH_MUTABLE. --- sys/sys/queue.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 0d4054155e..f373bc6270 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -32,7 +32,7 @@ * * @(#)queue.h 8.5 (Berkeley) 8/20/94 * $FreeBSD: src/sys/sys/queue.h,v 1.32.2.7 2002/04/17 14:21:02 des Exp $ - * $DragonFly: src/sys/sys/queue.h,v 1.5 2004/04/10 00:48:06 hsu Exp $ + * $DragonFly: src/sys/sys/queue.h,v 1.6 2004/08/12 14:57:29 joerg Exp $ */ #ifndef _SYS_QUEUE_H_ @@ -289,6 +289,11 @@ struct { \ (var); \ (var) = LIST_NEXT((var), field)) +#define LIST_FOREACH_MUTABLE(var, head, field, nvar) \ + for ((var) = LIST_FIRST((head)); \ + (var) && ((nvar) = LIST_NEXT((var), field), (var)); \ + (var) = (nvar)) + #define LIST_INIT(head) do { \ LIST_FIRST((head)) = NULL; \ } while (0) -- 2.41.0