mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 12:40:09 +01:00
util/list.h: add a function to move an item in a list
This allows for a 1:1 replacement of simple_list move_to_head (though I've tried to make this function more generally useful. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15418>
This commit is contained in:
parent
4b47e0e125
commit
0ae787f223
1 changed files with 13 additions and 0 deletions
|
|
@ -179,6 +179,19 @@ static inline void list_validate(const struct list_head *list)
|
|||
assert(node->next->prev == node && node->prev->next == node);
|
||||
}
|
||||
|
||||
/**
|
||||
* Move an item from one place in a list to another
|
||||
*
|
||||
* The item can be in this list, or in another.
|
||||
*
|
||||
* @param item The item to move
|
||||
* @param loc The element to put the item in front of
|
||||
*/
|
||||
static inline void list_move_to(struct list_head *item, struct list_head *loc) {
|
||||
list_del(item);
|
||||
list_add(item, loc);
|
||||
}
|
||||
|
||||
#define LIST_ENTRY(__type, __item, __field) \
|
||||
((__type *)(((char *)(__item)) - offsetof(__type, __field)))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue