diff options
Diffstat (limited to 'src/cookie.c')
-rw-r--r-- | src/cookie.c | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/cookie.c b/src/cookie.c index a64f5cb..fc66428 100644 --- a/src/cookie.c +++ b/src/cookie.c @@ -4,6 +4,19 @@ #include <string.h> +void magi_cookies_free(magi_cookies *cookies) +{ + if (cookies) { + magi_cookies_free(cookies->next); + free(cookies->next); + free(cookies->item.name); + free(cookies->item.data); + free(cookies->item.path); + free(cookies->item.domain); + free(cookies->item.max_age); + } +} + void magi_cookies_add(magi_cookies **cookies, magi_cookie *newitem) { magi_cookies *node = malloc(sizeof(*node)); @@ -17,27 +30,13 @@ void magi_cookies_add(magi_cookies **cookies, magi_cookie *newitem) const magi_cookie *magi_cookies_get(const magi_cookies *cookies, const char *name) { - const magi_cookie *res = 0; - if (!cookies || !name) { + if (!name) { return 0; } for (; cookies; cookies = cookies->next) { if (!strcmp(cookies->item.name, name)) { - res = &cookies->item; + return &cookies->item; } } - return res; -} - -void magi_cookies_free(magi_cookies *cookies) -{ - if (cookies) { - magi_cookies_free(cookies->next); - free(cookies->next); - free(cookies->item.name); - free(cookies->item.data); - free(cookies->item.path); - free(cookies->item.domain); - free(cookies->item.max_age); - } + return 0; } |