From 21369ab14763faec0abeb4e669cb0db62121b6fd Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Tue, 25 May 2021 13:15:13 +0200 Subject: add list for zonefile parsing (untested) --- src/list.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/list.c (limited to 'src/list.c') diff --git a/src/list.c b/src/list.c new file mode 100644 index 0000000..6a0085f --- /dev/null +++ b/src/list.c @@ -0,0 +1,50 @@ +/* + * src/list.c + * (c) 2021 Jonas Gunz + * License: MIT + */ + +#include "list.h" + +int list_add( list_element_t** _root, void* _data ) { + list_element_t** iter = _root; + list_element_t* new_element = malloc( sizeof(list_element_t) ); + + new_element->data = _data; + new_element->next = NULL; + + if( !new_element ) + return 1; + + while(*iter) + iter = & (*iter)->next; + + *iter = new_element; + + return 0; +} + +int list_sort ( list_element_t** _root ) { + return -1; +} + +int list_length ( list_element_t* _root ) { + return -1; +} + +void* list_pop_front ( list_element_t** _root ) { + list_element_t* old = NULL; + void* old_data = NULL; + + if( !*_root ) + return NULL; + + old = *_root; + old_data = old->data; + + *_root = (*_root)->next; + + free ( old ); + + return old_data; +} -- cgit v1.2.3