diff --git a/btpd/queue.h b/btpd/queue.h index 4e84ff4..0149729 100644 --- a/btpd/queue.h +++ b/btpd/queue.h @@ -41,6 +41,11 @@ struct { \ (var); \ (var) = BTPDQ_NEXT((var), field)) +#define BTPDQ_FOREACH_MUTABLE(var, head, field, nvar) \ + for ((var) = BTPDQ_FIRST((head)); \ + (var) && ((nvar) = BTPDQ_NEXT((var), field), (var)); \ + (var) = (nvar)) + #define BTPDQ_INIT(head) do { \ BTPDQ_FIRST((head)) = NULL; \ (head)->tqh_last = &BTPDQ_FIRST((head)); \