Commit 099f84c4 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

include: Add list_move_after() and list_move_before().

Cherry-picked from vkd3d commit a2996c2d59b140a0a92efc85d43c8f9b59540a12.
parent 57c9bc90
...@@ -150,8 +150,8 @@ static inline unsigned int list_count( const struct list *list ) ...@@ -150,8 +150,8 @@ static inline unsigned int list_count( const struct list *list )
return count; return count;
} }
/* move all elements from src to the tail of dst */ /* move all elements from src to before the specified element */
static inline void list_move_tail( struct list *dst, struct list *src ) static inline void list_move_before( struct list *dst, struct list *src )
{ {
if (list_empty(src)) return; if (list_empty(src)) return;
...@@ -162,8 +162,8 @@ static inline void list_move_tail( struct list *dst, struct list *src ) ...@@ -162,8 +162,8 @@ static inline void list_move_tail( struct list *dst, struct list *src )
list_init(src); list_init(src);
} }
/* move all elements from src to the head of dst */ /* move all elements from src to after the specified element */
static inline void list_move_head( struct list *dst, struct list *src ) static inline void list_move_after( struct list *dst, struct list *src )
{ {
if (list_empty(src)) return; if (list_empty(src)) return;
...@@ -174,6 +174,18 @@ static inline void list_move_head( struct list *dst, struct list *src ) ...@@ -174,6 +174,18 @@ static inline void list_move_head( struct list *dst, struct list *src )
list_init(src); list_init(src);
} }
/* move all elements from src to the head of dst */
static inline void list_move_head( struct list *dst, struct list *src )
{
list_move_after( dst, src );
}
/* move all elements from src to the tail of dst */
static inline void list_move_tail( struct list *dst, struct list *src )
{
list_move_before( dst, src );
}
/* iterate through the list */ /* iterate through the list */
#define LIST_FOR_EACH(cursor,list) \ #define LIST_FOR_EACH(cursor,list) \
for ((cursor) = (list)->next; (cursor) != (list); (cursor) = (cursor)->next) for ((cursor) = (list)->next; (cursor) != (list); (cursor) = (cursor)->next)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment