From c51518744fbc91d72e8ad581a1d1072258f5114a Mon Sep 17 00:00:00 2001 From: Jarno Rajahalme Date: Fri, 21 Nov 2014 11:23:25 -0800 Subject: [PATCH] flow.h: Simplify MAP_FOR_EACH_INDEX() Avoid comparing against specific values. Signed-off-by: Jarno Rajahalme Acked-by: Ben Pfaff --- lib/flow.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/flow.h b/lib/flow.h index 2259680fc..2dcc7be13 100644 --- a/lib/flow.h +++ b/lib/flow.h @@ -499,9 +499,9 @@ flow_get_next_in_map(const struct flow *flow, uint64_t map, uint32_t *value) map__ = zero_rightmost_1bit(map__)) /* Iterate through all struct flow u32 indices specified by 'MAP'. */ -#define MAP_FOR_EACH_INDEX(U32IDX, MAP) \ - for (uint64_t map__ = (MAP); \ - ((U32IDX) = ctz64(map__)) < FLOW_U32S; \ +#define MAP_FOR_EACH_INDEX(U32IDX, MAP) \ + for (uint64_t map__ = (MAP); \ + map__ && ((U32IDX) = raw_ctz(map__), true); \ map__ = zero_rightmost_1bit(map__)) #define FLOW_U32_SIZE(FIELD) \ -- 2.20.1