#include "param.h" #include #include void magi_params_add(magi_params **params, magi_param *newitem) { magi_params *node = malloc(sizeof(*node)); if (node) { node->next = *params; node->item = *newitem; *params = node; } } char *magi_params_get(magi_params *params, const char *name) { if (!params || !name) { return 0; } else if (!strcmp(params->item.name, name)) { return params->item.data; } else { return magi_params_get(params->next, name); } } void magi_params_free(magi_params *params) { if (params) { magi_params_free(params->next); free(params->next); free(params->item.name); free(params->item.data); } }