summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/ring.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/ring.h b/common/ring.h
index 7fba50e..2d98ed8 100644
--- a/common/ring.h
+++ b/common/ring.h
@@ -151,6 +151,12 @@ static inline RingItem *ring_prev(Ring *ring, RingItem *pos)
(var) = ring_prev(ring, var))
+#define RING_FOREACH_REVERSED_SAFE(var, next, ring) \
+ for ((var) = ring_get_tail(ring); \
+ (var) && ((next) = ring_prev(ring, (var)), 1); \
+ (var) = (next))
+
+
static inline unsigned int ring_get_length(Ring *ring)
{
RingItem *i;