mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-15 05:30:43 +00:00
include: Add list_move_after() and list_move_before().
Cherry-picked from vkd3d commit a2996c2d59b140a0a92efc85d43c8f9b59540a12.
This commit is contained in:
parent
57c9bc9056
commit
099f84c4f0
|
@ -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 )
|
||||||
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 )
|
||||||
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)
|
||||||
|
|
Loading…
Reference in a new issue