aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wlr/types/wlr_list.h83
-rw-r--r--types/meson.build1
-rw-r--r--types/wlr_list.c109
3 files changed, 0 insertions, 193 deletions
diff --git a/include/wlr/types/wlr_list.h b/include/wlr/types/wlr_list.h
deleted file mode 100644
index 60f388f9..00000000
--- a/include/wlr/types/wlr_list.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * This an unstable interface of wlroots. No guarantees are made regarding the
- * future consistency of this API.
- */
-#ifndef WLR_USE_UNSTABLE
-#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
-#endif
-
-#ifndef WLR_TYPES_WLR_LIST_H
-#define WLR_TYPES_WLR_LIST_H
-
-#include <stdbool.h>
-#include <stddef.h>
-
-struct wlr_list {
- size_t capacity;
- size_t length;
- void **items;
-};
-
-/**
- * Initialize a list. Returns true on success, false on failure.
- */
-bool wlr_list_init(struct wlr_list *list);
-
-/**
- * Deinitialize a list.
- */
-void wlr_list_finish(struct wlr_list *list);
-
-/**
- * Executes `callback` on each element in the list.
- */
-void wlr_list_for_each(struct wlr_list *list, void (*callback)(void *item));
-
-/**
- * Add `item` to the end of a list.
- * Returns: new list length or `-1` on failure.
- */
-ssize_t wlr_list_push(struct wlr_list *list, void *item);
-
-/**
- * Place `item` into index `index` in the list.
- * Returns: new list length or `-1` on failure.
- */
-ssize_t wlr_list_insert(struct wlr_list *list, size_t index, void *item);
-
-/**
- * Remove an item from the list.
- */
-void wlr_list_del(struct wlr_list *list, size_t index);
-
-/**
- * Remove and return an item from the end of the list.
- */
-void *wlr_list_pop(struct wlr_list *list);
-
-/**
- * Get a reference to the last item of a list without removal.
- */
-void *wlr_list_peek(struct wlr_list *list);
-
-/**
- * Append each item in `source` to `list`.
- * Does not modify `source`.
- * Returns: new list length or `-1` on failure.
- */
-ssize_t wlr_list_cat(struct wlr_list *list, const struct wlr_list *source);
-
-/**
- * Sort a list using `qsort`.
- */
-void wlr_list_qsort(struct wlr_list *list,
- int compare(const void *left, const void *right));
-
-/**
- * Return the index of the first item in the list that returns 0 for the given
- * `compare` function, or -1 if none matches.
- */
-ssize_t wlr_list_find(struct wlr_list *list,
- int compare(const void *item, const void *cmp_to), const void *cmp_to);
-
-#endif
diff --git a/types/meson.build b/types/meson.build
index 18e32738..c8d04609 100644
--- a/types/meson.build
+++ b/types/meson.build
@@ -35,7 +35,6 @@ wlr_files += files(
'wlr_keyboard_shortcuts_inhibit_v1.c',
'wlr_layer_shell_v1.c',
'wlr_linux_dmabuf_v1.c',
- 'wlr_list.c',
'wlr_matrix.c',
'wlr_output_damage.c',
'wlr_output_layout.c',
diff --git a/types/wlr_list.c b/types/wlr_list.c
deleted file mode 100644
index 2be0912a..00000000
--- a/types/wlr_list.c
+++ /dev/null
@@ -1,109 +0,0 @@
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <wlr/types/wlr_list.h>
-
-bool wlr_list_init(struct wlr_list *list) {
- list->capacity = 10;
- list->length = 0;
- list->items = malloc(sizeof(void *) * list->capacity);
- if (list->items == NULL) {
- return false;
- }
- return true;
-}
-
-static bool list_resize(struct wlr_list *list) {
- if (list->length == list->capacity) {
- void *new_items = realloc(list->items,
- sizeof(void *) * (list->capacity + 10));
- if (!new_items) {
- return false;
- }
- list->capacity += 10;
- list->items = new_items;
- }
- return true;
-}
-
-void wlr_list_finish(struct wlr_list *list) {
- free(list->items);
-}
-
-void wlr_list_for_each(struct wlr_list *list, void (*callback)(void *item)) {
- for (size_t i = 0; i < list->length; i++) {
- callback(list->items[i]);
- }
-}
-
-ssize_t wlr_list_push(struct wlr_list *list, void *item) {
- if (!list_resize(list)) {
- return -1;
- }
- list->items[list->length++] = item;
- return list->length;
-}
-
-ssize_t wlr_list_insert(struct wlr_list *list, size_t index, void *item) {
- if (!list_resize(list)) {
- return -1;
- }
- memmove(&list->items[index + 1], &list->items[index],
- sizeof(void *) * (list->length - index));
- list->length++;
- list->items[index] = item;
- return list->length;
-}
-
-void wlr_list_del(struct wlr_list *list, size_t index) {
- list->length--;
- memmove(&list->items[index], &list->items[index + 1],
- sizeof(void *) * (list->length - index));
-}
-
-void *wlr_list_pop(struct wlr_list *list) {
- if (list->length == 0) {
- return NULL;
- }
- void *last = list->items[list->length - 1];
- wlr_list_del(list, list->length - 1);
- return last;
-}
-
-void *wlr_list_peek(struct wlr_list *list) {
- if (list->length == 0) {
- return NULL;
- }
- return list->items[list->length - 1];
-}
-
-ssize_t wlr_list_cat(struct wlr_list *list, const struct wlr_list *source) {
- size_t old_len = list->length;
- size_t i;
- for (i = 0; i < source->length; ++i) {
- if (wlr_list_push(list, source->items[i]) == -1) {
- list->length = old_len;
- return -1;
- }
- }
- return list->length;
-}
-
-void wlr_list_qsort(struct wlr_list *list,
- int compare(const void *left, const void *right)) {
- qsort(list->items, list->length, sizeof(void *), compare);
-}
-
-ssize_t wlr_list_find(struct wlr_list *list,
- int compare(const void *item, const void *data), const void *data) {
- for (size_t i = 0; i < list->length; i++) {
- void *item = list->items[i];
- if (compare(item, data) == 0) {
- return i;
- }
- }
- return -1;
-}