From fc26d6542276e17f3206a00b996162397d875e93 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Mon, 12 Feb 2024 13:34:56 +0100 Subject: feat: Initial commit Add initial code form dealing with sqlite. --- list.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 list.c (limited to 'list.c') diff --git a/list.c b/list.c new file mode 100644 index 0000000..a40dd57 --- /dev/null +++ b/list.c @@ -0,0 +1,44 @@ +#include "list.h" +#include + +LIST* list_add(LIST* list, void* item) +{ + + if (list == NULL) + { + list = (LIST*)malloc(sizeof(LIST)); + list->size = 0; + list->list = (void**)malloc(sizeof(0)); + + } + + list->size ++; + void** new_list = (void**)reallocarray(list->list, list->size, sizeof(void*)); + + new_list[list->size-1] = item; + list->list = new_list; + + return list; + +} + +LIST* list_remove(LIST* list, unsigned int pos) +{ + for(unsigned int i = pos; i < list->size - 1; i++) + list->list[i] = list->list[i + 1]; + + list->size--; + + void** new_list = reallocarray(list->list, list->size, sizeof(void*)); + list->list = new_list; + + return list; +} + +void list_free(LIST* list) { + for (unsigned int x = 0; x < list->size; x++) + free(list->list[x]); + + free(list->list); + free(list); +} -- cgit v1.2.3