diff options
-rw-r--r-- | common/ring.h | 6 |
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; |