From: Daniel Stenberg Date: Sun, 10 Sep 2006 22:12:24 +0000 (+0000) Subject: Added a useful debug function within #if 0. The function makes it easy to X-Git-Tag: upstream/7.37.1~10037 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f2a33eb372ec958dbb0c5eeeab546eedbaa617c2;p=platform%2Fupstream%2Fcurl.git Added a useful debug function within #if 0. The function makes it easy to "dump" a hash table which is useful when tracking problems with data stored in one of our hashes. --- diff --git a/lib/hash.c b/lib/hash.c index 26ea9c4..e004627 100644 --- a/lib/hash.c +++ b/lib/hash.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2005, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2006, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -282,3 +282,34 @@ Curl_hash_destroy(struct curl_hash *h) free(h); } +#if 0 /* useful function for debugging hashes and their contents */ +void Curl_hash_print(struct curl_hash *h, + void (*func)(void *)) +{ + int i; + struct curl_llist_element *le; + struct curl_llist *list; + struct curl_hash_element *he; + if (!h) + return; + + fprintf(stderr, "=Hash dump=\n"); + + for (i = 0; i < h->slots; i++) { + list = h->table[i]; + le = list->head; /* get first list entry */ + if(le) { + fprintf(stderr, "index %d:", i); + while(le) { + he = le->ptr; + if(func) + func(he->ptr); + else + fprintf(stderr, " [%p]", he->ptr); + le = le->next; + } + fprintf(stderr, "\n"); + } + } +} +#endif