From: Jason Ekstrand Date: Tue, 28 Apr 2015 03:40:11 +0000 (-0700) Subject: util/list: Add a list validation function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2c2cd368aad9167816547aa86009c9cb489255c0;p=mesa.git util/list: Add a list validation function Acked-by: Connor Abbott Reviewed-by: Rob Clark --- diff --git a/src/util/list.h b/src/util/list.h index 73b6272ca19..946034710ef 100644 --- a/src/util/list.h +++ b/src/util/list.h @@ -40,6 +40,7 @@ #include #include +#include struct list_head @@ -107,6 +108,14 @@ static inline unsigned list_length(struct list_head *list) return length; } +static inline void list_validate(struct list_head *list) +{ + struct list_head *node; + assert(list->next->prev == list && list->prev->next == list); + for (node = list->next; node != list; node = node->next) + assert(node->next->prev == node && node->prev->next == node); +} + #define LIST_INITHEAD(__item) list_inithead(__item) #define LIST_ADD(__item, __list) list_add(__item, __list) #define LIST_ADDTAIL(__item, __list) list_addtail(__item, __list)