mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-06 10:02:23 +00:00
Allows to enqueue list element instead of pushing on top of the list
From: Daniel Lezcano <dlezcano@fr.ibm.com> Added the list_add_tail function to add an element at the end of the list. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
85cbaa06f9
commit
da9e3794b5
@ -7,7 +7,7 @@ struct lxc_list {
|
||||
struct lxc_list *prev;
|
||||
};
|
||||
|
||||
#define lxc_init_list(l) { .next = l, .prev = l, }
|
||||
#define lxc_init_list(l) { .next = l, .prev = l }
|
||||
|
||||
#define lxc_list_for_each(__iterator, __list) \
|
||||
for (__iterator = (__list)->next; \
|
||||
@ -35,13 +35,25 @@ static inline int lxc_list_empty(struct lxc_list *list)
|
||||
return list == list->next;
|
||||
}
|
||||
|
||||
static inline void __lxc_list_add(struct lxc_list *new,
|
||||
struct lxc_list *prev,
|
||||
struct lxc_list *next)
|
||||
{
|
||||
next->prev = new;
|
||||
new->next = next;
|
||||
new->prev = prev;
|
||||
prev->next = new;
|
||||
}
|
||||
|
||||
static inline void lxc_list_add(struct lxc_list *head, struct lxc_list *list)
|
||||
{
|
||||
struct lxc_list *next = head->next;
|
||||
next->prev = list;
|
||||
list->next = next;
|
||||
list->prev = head;
|
||||
head->next = list;
|
||||
__lxc_list_add(list, head, head->next);
|
||||
}
|
||||
|
||||
static inline void lxc_list_add_tail(struct lxc_list *head,
|
||||
struct lxc_list *list)
|
||||
{
|
||||
__lxc_list_add(list, head->prev, head);
|
||||
}
|
||||
|
||||
static inline void lxc_list_del(struct lxc_list *list)
|
||||
|
Loading…
Reference in New Issue
Block a user