Module: Mesa Branch: master Commit: addcf41066d28a5d2d5ed112a65a3958b056bd19 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=addcf41066d28a5d2d5ed112a65a3958b056bd19
Author: Jason Ekstrand <[email protected]> Date: Mon Apr 27 20:39:37 2015 -0700 util/list: Add list_empty and list_length functions v2: Don't use C99 when iterating over the list Acked-by: Connor Abbott <[email protected]> Reviewed-by: Rob Clark <[email protected]> --- src/util/list.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/util/list.h b/src/util/list.h index 287a494..73b6272 100644 --- a/src/util/list.h +++ b/src/util/list.h @@ -38,6 +38,7 @@ #define _UTIL_LIST_H_ +#include <stdbool.h> #include <stddef.h> @@ -92,6 +93,20 @@ static inline void list_delinit(struct list_head *item) item->prev = item; } +static inline bool list_empty(struct list_head *list) +{ + return list->next == list; +} + +static inline unsigned list_length(struct list_head *list) +{ + struct list_head *node; + unsigned length = 0; + for (node = list->next; node != list; node = node->next) + length++; + return length; +} + #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) _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
