diff options
| author | Gabriel A. Giovanini <mail@gabrielgio.me> | 2024-02-12 13:34:56 +0100 | 
|---|---|---|
| committer | Gabriel A. Giovanini <g.giovanini@gridx.de> | 2024-02-14 12:29:25 +0100 | 
| commit | fc26d6542276e17f3206a00b996162397d875e93 (patch) | |
| tree | 755683100beb190eb8c5983d77fdbdc041f20647 /list.c | |
| download | dict-fc26d6542276e17f3206a00b996162397d875e93.tar.gz dict-fc26d6542276e17f3206a00b996162397d875e93.tar.bz2 dict-fc26d6542276e17f3206a00b996162397d875e93.zip | |
feat: Initial commit
Add initial code form dealing with sqlite.
Diffstat (limited to 'list.c')
| -rw-r--r-- | list.c | 44 | 
1 files changed, 44 insertions, 0 deletions
| @@ -0,0 +1,44 @@ +#include "list.h" +#include <stdlib.h> + +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); +} | 
