summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2011-11-15 13:48:41 -0500
committerKristian Høgsberg <krh@bitplanet.net>2011-11-15 13:48:41 -0500
commit51f50b8c6425684214e58a0e5ab2515b624feaad (patch)
tree56a70673adc1e8fd5d7b682f5d77c9805312d010
parent3175e91efa4d4cb1847044f9ea4a8ef57fd6f39c (diff)
util: Add wl_list_insert_list()
-rw-r--r--src/wayland-util.c9
-rw-r--r--src/wayland-util.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/wayland-util.c b/src/wayland-util.c
index 0dae01b..9eb3d59 100644
--- a/src/wayland-util.c
+++ b/src/wayland-util.c
@@ -71,6 +71,15 @@ wl_list_empty(struct wl_list *list)
}
WL_EXPORT void
+wl_list_insert_list(struct wl_list *list, struct wl_list *other)
+{
+ other->next->prev = list;
+ other->prev->next = list->next;
+ list->next->prev = other->prev;
+ list->next = other->next;
+}
+
+WL_EXPORT void
wl_array_init(struct wl_array *array)
{
memset(array, 0, sizeof *array);
diff --git a/src/wayland-util.h b/src/wayland-util.h
index 76e0f1d..608ea03 100644
--- a/src/wayland-util.h
+++ b/src/wayland-util.h
@@ -115,6 +115,7 @@ void wl_list_insert(struct wl_list *list, struct wl_list *elm);
void wl_list_remove(struct wl_list *elm);
int wl_list_length(struct wl_list *list);
int wl_list_empty(struct wl_list *list);
+void wl_list_insert_list(struct wl_list *list, struct wl_list *other);
#define __container_of(ptr, sample, member) \
(void *)((char *)(ptr) - \