diff --git a/include/tupperware/list.h b/include/tupperware/list.h index 96a12ba..4b474c9 100644 --- a/include/tupperware/list.h +++ b/include/tupperware/list.h @@ -64,6 +64,7 @@ struct list_node *list_node_safe_detach(struct list_node **at); struct list_node *list_pop_front(struct list *list); struct list_node *list_pop_back(struct list *list); +bool list_empty(const struct list *list); size_t list_length(const struct list *list); void list_node_concat(struct list_node *begin, struct list_node *end); diff --git a/src/list.c b/src/list.c index cbf1c02..c1c5670 100644 --- a/src/list.c +++ b/src/list.c @@ -108,6 +108,12 @@ struct list_node *list_pop_back(struct list *list) { return list_pop_front(list); } +bool list_empty(const struct list *list) { + if (!list) + return true; + return list->head == NULL; +} + size_t list_length(const struct list *list) { if (!list || !list->head) return 0;