From 59da1544ce82813e88c24ed8b612ba39ea1e3cc2 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 18 Dec 2012 14:49:21 +0100 Subject: include/list: add list_last_entry() Signed-off-by: Karel Zak --- include/list.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'include/list.h') diff --git a/include/list.h b/include/list.h index 414d356ba..e9ed0c4cd 100644 --- a/include/list.h +++ b/include/list.h @@ -127,11 +127,11 @@ _INLINE_ int list_empty(struct list_head *head) } /** - * list_last_entry - tests whether is entry last in the list + * list_entry_is_last - tests whether is entry last in the list * @entry: the entry to test. * @head: the list to test. */ -_INLINE_ int list_last_entry(struct list_head *entry, struct list_head *head) +_INLINE_ int list_entry_is_last(struct list_head *entry, struct list_head *head) { return head->prev == entry; } @@ -171,6 +171,9 @@ _INLINE_ void list_splice(struct list_head *list, struct list_head *head) #define list_first_entry(head, type, member) \ ((head) && (head)->next != (head) ? list_entry((head)->next, type, member) : NULL) +#define list_last_entry(head, type, member) \ + ((head) && (head)->prev != (head) ? list_entry((head)->prev, type, member) : NULL) + /** * list_for_each - iterate over elements in a list * @pos: the &struct list_head to use as a loop counter. -- cgit v1.2.3-55-g7522