diff options
author | Yang Tse <yangsita@gmail.com> | 2010-03-05 20:01:47 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2010-03-05 20:01:47 +0000 |
commit | 21f331ead265b1f02ae14fd03e9af53ea5b7bd55 (patch) | |
tree | 9fdbad31d74347d11a34d0121fd9b840dd5e1413 /ares/ares_data.c | |
parent | f9337470882125288606676534e701c71fc1014b (diff) |
Added IPv6 name servers support
Diffstat (limited to 'ares/ares_data.c')
-rw-r--r-- | ares/ares_data.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/ares/ares_data.c b/ares/ares_data.c index ee7601856..3a4c00c97 100644 --- a/ares/ares_data.c +++ b/ares/ares_data.c @@ -1,6 +1,6 @@ /* $Id$ */ -/* Copyright (C) 2009 by Daniel Stenberg +/* Copyright (C) 2009-2010 by Daniel Stenberg * * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without @@ -34,6 +34,7 @@ ** of c-ares functions returning pointers that must be free'ed using this ** function is: ** +** ares_get_servers() ** ares_parse_srv_reply() ** ares_parse_txt_reply() */ @@ -78,6 +79,12 @@ void ares_free_data(void *dataptr) free(ptr->data.txt_reply.txt); break; + case ARES_DATATYPE_ADDR_NODE: + + if (ptr->data.addr_node.next) + ares_free_data(ptr->data.addr_node.next); + break; + default: return; } @@ -121,6 +128,12 @@ void *ares_malloc_data(ares_datatype type) ptr->data.txt_reply.length = 0; break; + case ARES_DATATYPE_ADDR_NODE: + ptr->data.addr_node.next = NULL; + ptr->data.addr_node.family = 0; + memset(&ptr->data.addr_node.addrV6, 0, + sizeof(ptr->data.addr_node.addrV6)); + default: free(ptr); return NULL; |