diff --git a/src/libratbag-util.c b/src/libratbag-util.c index e383508e..ce5ceb17 100644 --- a/src/libratbag-util.c +++ b/src/libratbag-util.c @@ -57,6 +57,15 @@ list_insert(struct list *list, struct list *elm) elm->next->prev = elm; } +void +list_append(struct list *list, struct list *elm) +{ + elm->next = list; + elm->prev = list->prev; + list->prev = elm; + elm->prev->next = elm; +} + void list_remove(struct list *elm) { diff --git a/src/libratbag-util.h b/src/libratbag-util.h index 02587275..38d51990 100644 --- a/src/libratbag-util.h +++ b/src/libratbag-util.h @@ -45,6 +45,7 @@ struct list { void list_init(struct list *list); void list_insert(struct list *list, struct list *elm); +void list_append(struct list *list, struct list *elm); void list_remove(struct list *elm); int list_empty(const struct list *list);