From ea25abb295d9b4fbaf0ac23af8ffe71247970f1b Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 27 Nov 2019 21:33:06 +0300 Subject: . --- src/file.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/file.c') diff --git a/src/file.c b/src/file.c index e69de29..df6c978 100644 --- a/src/file.c +++ b/src/file.c @@ -0,0 +1,40 @@ +#include "file.h" + +#include +#include + + +int magi_file_list_add(struct magi_file_list ** list, struct magi_file * item) +{ + struct magi_file_list * node = malloc(sizeof(*node)); + if (node) { + node->next = *list; + node->item = *item; + *list = node; + } + return node; +} + +struct magi_file * magi_file_list_get(struct magi_file_list * list, + const char * name) +{ + if (!list || !name) { + return 0; + } else if (!strcmp(list->item.param_name, name)) { + return &list->item; + } else { + return magi_file_list_get(list->next, name); + } +} + +void magi_file_list_destroy(struct magi_file_list * list) +{ + if (list) { + magi_file_list_destroy(list->next); + free(list->next); + free(list->item.param_name); + free(list->item.file_name); + magi_param_list_destroy(list->item.params); + free(list->item.params); + } +} -- cgit v1.2.3