From f8a1089ab5d3976c631cfe7b40eca8a5ed34c306 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Wed, 30 Apr 2014 02:12:39 +0200 Subject: [PATCH] Add list_add_head to libcutils Adds a node to the head of the linked list. Change-Id: I03fc81f348c5c4fdab8680928b6e353413e4bc3c Signed-off-by: Samuel Ortiz Signed-off-by: Yong Yao --- include/cutils/list.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/cutils/list.h b/include/cutils/list.h index 945729ab2..6e94ddf66 100644 --- a/include/cutils/list.h +++ b/include/cutils/list.h @@ -63,6 +63,14 @@ static inline void list_add_tail(struct listnode *head, struct listnode *item) head->prev = item; } +static inline void list_add_head(struct listnode *head, struct listnode *item) +{ + item->next = head->next; + item->prev = head; + head->next->prev = item; + head->next = item; +} + static inline void list_remove(struct listnode *item) { item->next->prev = item->prev;