From: Ben Pfaff Date: Thu, 30 Jul 2009 20:41:21 +0000 (-0700) Subject: svec: New convenience macro SVEC_FOR_EACH. X-Git-Tag: v0.90.5~54 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=c338e47fbef2ce1354acbd9f521196dea3fe93f5;p=sliver-openvswitch.git svec: New convenience macro SVEC_FOR_EACH. --- diff --git a/lib/svec.h b/lib/svec.h index 7d8777fa8..e1736bc6c 100644 --- a/lib/svec.h +++ b/lib/svec.h @@ -57,4 +57,13 @@ char *svec_join(const struct svec *, const char *svec_back(const struct svec *); void svec_pop_back(struct svec *); +/* Iterates over the names in SVEC, assigning each name in turn to NAME and its + * index to INDEX. */ +#define SVEC_FOR_EACH(INDEX, NAME, SVEC) \ + for ((INDEX) = 0; \ + ((INDEX) < (SVEC)->n \ + ? (NAME) = (SVEC)->names[INDEX], 1 \ + : 0); \ + (INDEX)++) + #endif /* svec.h */