From ea25abb295d9b4fbaf0ac23af8ffe71247970f1b Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Wed, 27 Nov 2019 21:33:06 +0300 Subject: . --- src/param.c | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) (limited to 'src/param.c') diff --git a/src/param.c b/src/param.c index d87a610..73005af 100644 --- a/src/param.c +++ b/src/param.c @@ -1,42 +1,30 @@ #include "param.h" -#include "error.h" #include #include -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Parameter - */ int magi_param_list_add(struct magi_param_list ** list, struct magi_param * item) { - struct magi_param_list * old = *list; - int ok = 1; - *list = malloc(sizeof(**list)); - if (*list) { - (*list)->next = old; - (*list)->item = *item; - } else { - ok = 0; - magi_error_set("[param:list] Cannot allocate new list node."); - *list = old; + struct magi_param_list * node = malloc(sizeof(*node)); + if (node) { + node->next = *list; + node->item = *item; + *list = node; } - return ok; + return node; } -struct magi_param * magi_param_list_get(struct magi_param_list * list, - const char * name) +char * magi_param_list_get(struct magi_param_list * list, const char * name) { - struct magi_param * item = 0; - if (list && name) { - if (!strcmp(list->item.name, name)) { - item = &list->item; - } else { - item = magi_param_list_get(list->next, name); - } + if (!list || !name) { + return 0; + } else if (!strcmp(list->item.name, name)) { + return &list->item.data; + } else { + return magi_param_list_get(list->next, name); } - return item; } void magi_param_list_destroy(struct magi_param_list * list) -- cgit v1.2.3