Date: Sat, 27 Apr 2013 16:35:15 +1000 From: Lawrence Stewart <lstewart@freebsd.org> To: freebsd-arch@freebsd.org Subject: Adding a FOREACH_CONTINUE() variant to queue(3) Message-ID: <517B71A3.30805@freebsd.org>
next in thread | raw e-mail | index | archive | help
Hi all, I've had use for these a few times now when wanting to restart a loop at a previously found element, and wonder if there are any thoughts about sticking them (and equivalents for other list types) in <sys/queue.h>? Cheers, Lawrence #define TAILQ_FOREACH_CONTINUE(var, head, field) \ for ((var) = ((var) ? (var) : TAILQ_FIRST((head))); \ (var); \ (var) = TAILQ_NEXT((var), field)) #define SLIST_FOREACH_CONTINUE(var, head, field) \ for ((var) = ((var) ? (var) : SLIST_FIRST((head))); \ (var); \ (var) = SLIST_NEXT((var), field))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?517B71A3.30805>