diff --git a/common/ring.h b/common/ring.h index ff4ef6dd..bd030d25 100644 --- a/common/ring.h +++ b/common/ring.h @@ -154,6 +154,19 @@ static inline RingItem *ring_prev(Ring *ring, RingItem *pos) (var) = ring_prev(ring, var)) +static inline unsigned int ring_get_length(Ring *ring) +{ + RingItem *i; + unsigned int ret = 0; + + for (i = ring_get_head(ring); + i != NULL; + i = ring_next(ring, i)) + ret++; + + return ret; +} + #ifdef __cplusplus } #endif