summaryrefslogtreecommitdiffstats
path: root/src/vppinfra
diff options
context:
space:
mode:
Diffstat (limited to 'src/vppinfra')
-rw-r--r--src/vppinfra/pool.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/vppinfra/pool.h b/src/vppinfra/pool.h
index dd581efeeab..ef816096ff0 100644
--- a/src/vppinfra/pool.h
+++ b/src/vppinfra/pool.h
@@ -561,16 +561,11 @@ do { \
i = pool_get_next_index (v, i))
/* Iterate pool by index from s to e */
-#define pool_foreach_stepping_index(i, s, e, v, body) \
- for ((i) = (s); (i) < (e); (i) = pool_get_next_index (v, i)) \
- { \
- if (!pool_is_free_index ((v), (i))) \
- do \
- { \
- body; \
- } \
- while (0); \
- }
+#define pool_foreach_stepping_index(i, s, e, v) \
+ for ((i) = \
+ (pool_is_free_index ((v), (s)) ? pool_get_next_index ((v), (s)) : \
+ (s)); \
+ (i) < (e); (i) = pool_get_next_index ((v), (i)))
/**
* @brief Remove all elements from a pool in a safe way