Loading lib/hash.c +29 −30 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -50,12 +50,11 @@ hash_str(const char *key, size_t key_length) static void hash_element_dtor(void *user, void *element) { curl_hash *h = (curl_hash *) user; curl_hash_element *e = (curl_hash_element *) element; struct curl_hash *h = (struct curl_hash *) user; struct curl_hash_element *e = (struct curl_hash_element *) element; if (e->key) { if (e->key) free(e->key); } h->dtor(e->ptr); Loading @@ -64,7 +63,7 @@ hash_element_dtor(void *user, void *element) /* return 1 on error, 0 is fine */ int Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) Curl_hash_init(struct curl_hash *h, int slots, curl_hash_dtor dtor) { int i; Loading @@ -72,7 +71,7 @@ Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) h->size = 0; h->slots = slots; h->table = (curl_llist **) malloc(slots * sizeof(curl_llist *)); h->table = (struct curl_llist **) malloc(slots * sizeof(struct curl_llist *)); if(h->table) { for (i = 0; i < slots; ++i) { h->table[i] = Curl_llist_alloc((curl_llist_dtor) hash_element_dtor); Loading @@ -89,12 +88,12 @@ Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) return 1; /* failure */ } curl_hash * struct curl_hash * Curl_hash_alloc(int slots, curl_hash_dtor dtor) { curl_hash *h; struct curl_hash *h; h = (curl_hash *) malloc(sizeof(curl_hash)); h = (struct curl_hash *) malloc(sizeof(struct curl_hash)); if (h) { if(Curl_hash_init(h, slots, dtor)) { /* failure */ Loading @@ -118,11 +117,11 @@ hash_key_compare(char *key1, size_t key1_len, char *key2, size_t key2_len) return 0; } static curl_hash_element * static struct curl_hash_element * mk_hash_element(char *key, size_t key_len, const void *p) { curl_hash_element *he = (curl_hash_element *) malloc(sizeof(curl_hash_element)); struct curl_hash_element *he = (struct curl_hash_element *) malloc(sizeof(struct curl_hash_element)); if(he) { char *dup = strdup(key); Loading @@ -147,14 +146,14 @@ mk_hash_element(char *key, size_t key_len, const void *p) /* Return the data in the hash. If there already was a match in the hash, that data is returned. */ void * Curl_hash_add(curl_hash *h, char *key, size_t key_len, void *p) Curl_hash_add(struct curl_hash *h, char *key, size_t key_len, void *p) { curl_hash_element *he; curl_llist_element *le; curl_llist *l = FETCH_LIST(h, key, key_len); struct curl_hash_element *he; struct curl_llist_element *le; struct curl_llist *l = FETCH_LIST(h, key, key_len); for (le = l->head; le; le = le->next) { he = (curl_hash_element *) le->ptr; he = (struct curl_hash_element *) le->ptr; if (hash_key_compare(he->key, he->key_len, key, key_len)) { h->dtor(p); /* remove the NEW entry */ return he->ptr; /* return the EXISTING entry */ Loading @@ -181,11 +180,11 @@ Curl_hash_add(curl_hash *h, char *key, size_t key_len, void *p) } void * Curl_hash_pick(curl_hash *h, char *key, size_t key_len) Curl_hash_pick(struct curl_hash *h, char *key, size_t key_len) { curl_llist_element *le; curl_hash_element *he; curl_llist *l = FETCH_LIST(h, key, key_len); struct curl_llist_element *le; struct curl_hash_element *he; struct curl_llist *l = FETCH_LIST(h, key, key_len); for (le = l->head; le; Loading @@ -204,7 +203,7 @@ void Curl_hash_apply(curl_hash *h, void *user, void (*cb)(void *user, void *ptr)) { curl_llist_element *le; struct curl_llist_element *le; int i; for (i = 0; i < h->slots; ++i) { Loading @@ -219,7 +218,7 @@ Curl_hash_apply(curl_hash *h, void *user, #endif void Curl_hash_clean(curl_hash *h) Curl_hash_clean(struct curl_hash *h) { int i; Loading @@ -231,19 +230,19 @@ Curl_hash_clean(curl_hash *h) } void Curl_hash_clean_with_criterium(curl_hash *h, void *user, Curl_hash_clean_with_criterium(struct curl_hash *h, void *user, int (*comp)(void *, void *)) { curl_llist_element *le; curl_llist_element *lnext; curl_llist *list; struct curl_llist_element *le; struct curl_llist_element *lnext; struct curl_llist *list; int i; for (i = 0; i < h->slots; ++i) { list = h->table[i]; le = list->head; /* get first list entry */ while(le) { curl_hash_element *he = le->ptr; struct curl_hash_element *he = le->ptr; lnext = le->next; /* ask the callback function if we shall remove this entry or not */ if (comp(user, he->ptr)) { Loading @@ -256,7 +255,7 @@ Curl_hash_clean_with_criterium(curl_hash *h, void *user, } void Curl_hash_destroy(curl_hash *h) Curl_hash_destroy(struct curl_hash *h) { if (!h) return; Loading lib/hash.h +19 −18 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading @@ -31,30 +31,31 @@ typedef void (*curl_hash_dtor)(void *); typedef struct _curl_hash { curl_llist **table; struct curl_hash { struct curl_llist **table; curl_hash_dtor dtor; int slots; size_t size; } curl_hash; }; typedef struct _curl_hash_element { struct curl_hash_element { void *ptr; char *key; size_t key_len; } curl_hash_element; }; int Curl_hash_init(curl_hash *, int, curl_hash_dtor); curl_hash *Curl_hash_alloc(int, curl_hash_dtor); void *Curl_hash_add(curl_hash *, char *, size_t, void *); int Curl_hash_delete(curl_hash *h, char *key, size_t key_len); void *Curl_hash_pick(curl_hash *, char *, size_t); void Curl_hash_apply(curl_hash *h, void *user, int Curl_hash_init(struct curl_hash *, int, curl_hash_dtor); struct curl_hash *Curl_hash_alloc(int, curl_hash_dtor); void *Curl_hash_add(struct curl_hash *, char *, size_t, void *); int Curl_hash_delete(struct curl_hash *h, char *key, size_t key_len); void *Curl_hash_pick(struct curl_hash *, char *, size_t); void Curl_hash_apply(struct curl_hash *h, void *user, void (*cb)(void *user, void *ptr)); int Curl_hash_count(curl_hash *h); void Curl_hash_clean(curl_hash *h); void Curl_hash_clean_with_criterium(curl_hash *h, void *user, int (*comp)(void *, void *)); void Curl_hash_destroy(curl_hash *h); int Curl_hash_count(struct curl_hash *h); void Curl_hash_clean(struct curl_hash *h); void Curl_hash_clean_with_criterium(struct curl_hash *h, void *user, int (*comp)(void *, void *)); void Curl_hash_destroy(struct curl_hash *h); #endif lib/hostip.c +5 −5 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -131,7 +131,7 @@ */ /* These two symbols are for the global DNS cache */ static curl_hash hostname_cache; static struct curl_hash hostname_cache; static int host_cache_initialized; static void freednsentry(void *freethis); Loading @@ -152,7 +152,7 @@ void Curl_global_host_cache_init(void) /* * Return a pointer to the global cache */ curl_hash *Curl_global_host_cache_get(void) struct curl_hash *Curl_global_host_cache_get(void) { return &hostname_cache; } Loading Loading @@ -244,7 +244,7 @@ hostcache_timestamp_remove(void *datap, void *hc) * Prune the DNS cache. This assumes that a lock has already been taken. */ static void hostcache_prune(curl_hash *hostcache, int cache_timeout, time_t now) hostcache_prune(struct curl_hash *hostcache, int cache_timeout, time_t now) { struct hostcache_prune_data user; Loading Loading @@ -507,7 +507,7 @@ static void freednsentry(void *freethis) /* * Curl_mk_dnscache() creates a new DNS cache and returns the handle for it. */ curl_hash *Curl_mk_dnscache(void) struct curl_hash *Curl_mk_dnscache(void) { return Curl_hash_alloc(7, freednsentry); } Loading lib/hostip.h +3 −3 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -112,7 +112,7 @@ struct connectdata; void Curl_global_host_cache_init(void); void Curl_global_host_cache_dtor(void); curl_hash *Curl_global_host_cache_get(void); struct curl_hash *Curl_global_host_cache_get(void); #define Curl_global_host_cache_use(__p) ((__p)->set.global_dns_cache) Loading Loading @@ -176,7 +176,7 @@ void Curl_scan_cache_used(void *user, void *ptr); void Curl_freeaddrinfo(Curl_addrinfo *freeaddr); /* make a new dns cache and return the handle */ curl_hash *Curl_mk_dnscache(void); struct curl_hash *Curl_mk_dnscache(void); /* prune old entries from the DNS cache */ void Curl_hostcache_prune(struct SessionHandle *data); Loading lib/llist.c +12 −10 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -33,7 +33,7 @@ #include "memdebug.h" void Curl_llist_init(curl_llist *l, curl_llist_dtor dtor) Curl_llist_init(struct curl_llist *l, curl_llist_dtor dtor) { l->size = 0; l->dtor = dtor; Loading @@ -41,12 +41,12 @@ Curl_llist_init(curl_llist *l, curl_llist_dtor dtor) l->tail = NULL; } curl_llist * struct curl_llist * Curl_llist_alloc(curl_llist_dtor dtor) { curl_llist *list; struct curl_llist *list; list = (curl_llist *)malloc(sizeof(curl_llist)); list = (struct curl_llist *)malloc(sizeof(struct curl_llist)); if(NULL == list) return NULL; Loading @@ -59,10 +59,11 @@ Curl_llist_alloc(curl_llist_dtor dtor) * Curl_llist_insert_next() returns 1 on success and 0 on failure. */ int Curl_llist_insert_next(curl_llist *list, curl_llist_element *e, const void *p) Curl_llist_insert_next(struct curl_llist *list, struct curl_llist_element *e, const void *p) { curl_llist_element *ne = (curl_llist_element *) malloc(sizeof(curl_llist_element)); struct curl_llist_element *ne = (struct curl_llist_element *) malloc(sizeof(struct curl_llist_element)); if(!ne) return 0; Loading Loading @@ -91,7 +92,8 @@ Curl_llist_insert_next(curl_llist *list, curl_llist_element *e, const void *p) } int Curl_llist_remove(curl_llist *list, curl_llist_element *e, void *user) Curl_llist_remove(struct curl_llist *list, struct curl_llist_element *e, void *user) { if (e == NULL || list->size == 0) return 1; Loading Loading @@ -119,7 +121,7 @@ Curl_llist_remove(curl_llist *list, curl_llist_element *e, void *user) } void Curl_llist_destroy(curl_llist *list, void *user) Curl_llist_destroy(struct curl_llist *list, void *user) { if(list) { while (list->size > 0) Loading Loading
lib/hash.c +29 −30 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -50,12 +50,11 @@ hash_str(const char *key, size_t key_length) static void hash_element_dtor(void *user, void *element) { curl_hash *h = (curl_hash *) user; curl_hash_element *e = (curl_hash_element *) element; struct curl_hash *h = (struct curl_hash *) user; struct curl_hash_element *e = (struct curl_hash_element *) element; if (e->key) { if (e->key) free(e->key); } h->dtor(e->ptr); Loading @@ -64,7 +63,7 @@ hash_element_dtor(void *user, void *element) /* return 1 on error, 0 is fine */ int Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) Curl_hash_init(struct curl_hash *h, int slots, curl_hash_dtor dtor) { int i; Loading @@ -72,7 +71,7 @@ Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) h->size = 0; h->slots = slots; h->table = (curl_llist **) malloc(slots * sizeof(curl_llist *)); h->table = (struct curl_llist **) malloc(slots * sizeof(struct curl_llist *)); if(h->table) { for (i = 0; i < slots; ++i) { h->table[i] = Curl_llist_alloc((curl_llist_dtor) hash_element_dtor); Loading @@ -89,12 +88,12 @@ Curl_hash_init(curl_hash *h, int slots, curl_hash_dtor dtor) return 1; /* failure */ } curl_hash * struct curl_hash * Curl_hash_alloc(int slots, curl_hash_dtor dtor) { curl_hash *h; struct curl_hash *h; h = (curl_hash *) malloc(sizeof(curl_hash)); h = (struct curl_hash *) malloc(sizeof(struct curl_hash)); if (h) { if(Curl_hash_init(h, slots, dtor)) { /* failure */ Loading @@ -118,11 +117,11 @@ hash_key_compare(char *key1, size_t key1_len, char *key2, size_t key2_len) return 0; } static curl_hash_element * static struct curl_hash_element * mk_hash_element(char *key, size_t key_len, const void *p) { curl_hash_element *he = (curl_hash_element *) malloc(sizeof(curl_hash_element)); struct curl_hash_element *he = (struct curl_hash_element *) malloc(sizeof(struct curl_hash_element)); if(he) { char *dup = strdup(key); Loading @@ -147,14 +146,14 @@ mk_hash_element(char *key, size_t key_len, const void *p) /* Return the data in the hash. If there already was a match in the hash, that data is returned. */ void * Curl_hash_add(curl_hash *h, char *key, size_t key_len, void *p) Curl_hash_add(struct curl_hash *h, char *key, size_t key_len, void *p) { curl_hash_element *he; curl_llist_element *le; curl_llist *l = FETCH_LIST(h, key, key_len); struct curl_hash_element *he; struct curl_llist_element *le; struct curl_llist *l = FETCH_LIST(h, key, key_len); for (le = l->head; le; le = le->next) { he = (curl_hash_element *) le->ptr; he = (struct curl_hash_element *) le->ptr; if (hash_key_compare(he->key, he->key_len, key, key_len)) { h->dtor(p); /* remove the NEW entry */ return he->ptr; /* return the EXISTING entry */ Loading @@ -181,11 +180,11 @@ Curl_hash_add(curl_hash *h, char *key, size_t key_len, void *p) } void * Curl_hash_pick(curl_hash *h, char *key, size_t key_len) Curl_hash_pick(struct curl_hash *h, char *key, size_t key_len) { curl_llist_element *le; curl_hash_element *he; curl_llist *l = FETCH_LIST(h, key, key_len); struct curl_llist_element *le; struct curl_hash_element *he; struct curl_llist *l = FETCH_LIST(h, key, key_len); for (le = l->head; le; Loading @@ -204,7 +203,7 @@ void Curl_hash_apply(curl_hash *h, void *user, void (*cb)(void *user, void *ptr)) { curl_llist_element *le; struct curl_llist_element *le; int i; for (i = 0; i < h->slots; ++i) { Loading @@ -219,7 +218,7 @@ Curl_hash_apply(curl_hash *h, void *user, #endif void Curl_hash_clean(curl_hash *h) Curl_hash_clean(struct curl_hash *h) { int i; Loading @@ -231,19 +230,19 @@ Curl_hash_clean(curl_hash *h) } void Curl_hash_clean_with_criterium(curl_hash *h, void *user, Curl_hash_clean_with_criterium(struct curl_hash *h, void *user, int (*comp)(void *, void *)) { curl_llist_element *le; curl_llist_element *lnext; curl_llist *list; struct curl_llist_element *le; struct curl_llist_element *lnext; struct curl_llist *list; int i; for (i = 0; i < h->slots; ++i) { list = h->table[i]; le = list->head; /* get first list entry */ while(le) { curl_hash_element *he = le->ptr; struct curl_hash_element *he = le->ptr; lnext = le->next; /* ask the callback function if we shall remove this entry or not */ if (comp(user, he->ptr)) { Loading @@ -256,7 +255,7 @@ Curl_hash_clean_with_criterium(curl_hash *h, void *user, } void Curl_hash_destroy(curl_hash *h) Curl_hash_destroy(struct curl_hash *h) { if (!h) return; Loading
lib/hash.h +19 −18 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading @@ -31,30 +31,31 @@ typedef void (*curl_hash_dtor)(void *); typedef struct _curl_hash { curl_llist **table; struct curl_hash { struct curl_llist **table; curl_hash_dtor dtor; int slots; size_t size; } curl_hash; }; typedef struct _curl_hash_element { struct curl_hash_element { void *ptr; char *key; size_t key_len; } curl_hash_element; }; int Curl_hash_init(curl_hash *, int, curl_hash_dtor); curl_hash *Curl_hash_alloc(int, curl_hash_dtor); void *Curl_hash_add(curl_hash *, char *, size_t, void *); int Curl_hash_delete(curl_hash *h, char *key, size_t key_len); void *Curl_hash_pick(curl_hash *, char *, size_t); void Curl_hash_apply(curl_hash *h, void *user, int Curl_hash_init(struct curl_hash *, int, curl_hash_dtor); struct curl_hash *Curl_hash_alloc(int, curl_hash_dtor); void *Curl_hash_add(struct curl_hash *, char *, size_t, void *); int Curl_hash_delete(struct curl_hash *h, char *key, size_t key_len); void *Curl_hash_pick(struct curl_hash *, char *, size_t); void Curl_hash_apply(struct curl_hash *h, void *user, void (*cb)(void *user, void *ptr)); int Curl_hash_count(curl_hash *h); void Curl_hash_clean(curl_hash *h); void Curl_hash_clean_with_criterium(curl_hash *h, void *user, int (*comp)(void *, void *)); void Curl_hash_destroy(curl_hash *h); int Curl_hash_count(struct curl_hash *h); void Curl_hash_clean(struct curl_hash *h); void Curl_hash_clean_with_criterium(struct curl_hash *h, void *user, int (*comp)(void *, void *)); void Curl_hash_destroy(struct curl_hash *h); #endif
lib/hostip.c +5 −5 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -131,7 +131,7 @@ */ /* These two symbols are for the global DNS cache */ static curl_hash hostname_cache; static struct curl_hash hostname_cache; static int host_cache_initialized; static void freednsentry(void *freethis); Loading @@ -152,7 +152,7 @@ void Curl_global_host_cache_init(void) /* * Return a pointer to the global cache */ curl_hash *Curl_global_host_cache_get(void) struct curl_hash *Curl_global_host_cache_get(void) { return &hostname_cache; } Loading Loading @@ -244,7 +244,7 @@ hostcache_timestamp_remove(void *datap, void *hc) * Prune the DNS cache. This assumes that a lock has already been taken. */ static void hostcache_prune(curl_hash *hostcache, int cache_timeout, time_t now) hostcache_prune(struct curl_hash *hostcache, int cache_timeout, time_t now) { struct hostcache_prune_data user; Loading Loading @@ -507,7 +507,7 @@ static void freednsentry(void *freethis) /* * Curl_mk_dnscache() creates a new DNS cache and returns the handle for it. */ curl_hash *Curl_mk_dnscache(void) struct curl_hash *Curl_mk_dnscache(void) { return Curl_hash_alloc(7, freednsentry); } Loading
lib/hostip.h +3 −3 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -112,7 +112,7 @@ struct connectdata; void Curl_global_host_cache_init(void); void Curl_global_host_cache_dtor(void); curl_hash *Curl_global_host_cache_get(void); struct curl_hash *Curl_global_host_cache_get(void); #define Curl_global_host_cache_use(__p) ((__p)->set.global_dns_cache) Loading Loading @@ -176,7 +176,7 @@ void Curl_scan_cache_used(void *user, void *ptr); void Curl_freeaddrinfo(Curl_addrinfo *freeaddr); /* make a new dns cache and return the handle */ curl_hash *Curl_mk_dnscache(void); struct curl_hash *Curl_mk_dnscache(void); /* prune old entries from the DNS cache */ void Curl_hostcache_prune(struct SessionHandle *data); Loading
lib/llist.c +12 −10 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms Loading Loading @@ -33,7 +33,7 @@ #include "memdebug.h" void Curl_llist_init(curl_llist *l, curl_llist_dtor dtor) Curl_llist_init(struct curl_llist *l, curl_llist_dtor dtor) { l->size = 0; l->dtor = dtor; Loading @@ -41,12 +41,12 @@ Curl_llist_init(curl_llist *l, curl_llist_dtor dtor) l->tail = NULL; } curl_llist * struct curl_llist * Curl_llist_alloc(curl_llist_dtor dtor) { curl_llist *list; struct curl_llist *list; list = (curl_llist *)malloc(sizeof(curl_llist)); list = (struct curl_llist *)malloc(sizeof(struct curl_llist)); if(NULL == list) return NULL; Loading @@ -59,10 +59,11 @@ Curl_llist_alloc(curl_llist_dtor dtor) * Curl_llist_insert_next() returns 1 on success and 0 on failure. */ int Curl_llist_insert_next(curl_llist *list, curl_llist_element *e, const void *p) Curl_llist_insert_next(struct curl_llist *list, struct curl_llist_element *e, const void *p) { curl_llist_element *ne = (curl_llist_element *) malloc(sizeof(curl_llist_element)); struct curl_llist_element *ne = (struct curl_llist_element *) malloc(sizeof(struct curl_llist_element)); if(!ne) return 0; Loading Loading @@ -91,7 +92,8 @@ Curl_llist_insert_next(curl_llist *list, curl_llist_element *e, const void *p) } int Curl_llist_remove(curl_llist *list, curl_llist_element *e, void *user) Curl_llist_remove(struct curl_llist *list, struct curl_llist_element *e, void *user) { if (e == NULL || list->size == 0) return 1; Loading Loading @@ -119,7 +121,7 @@ Curl_llist_remove(curl_llist *list, curl_llist_element *e, void *user) } void Curl_llist_destroy(curl_llist *list, void *user) Curl_llist_destroy(struct curl_llist *list, void *user) { if(list) { while (list->size > 0) Loading