diff options
author | saghul <saghul@gmail.com> | 2012-02-23 23:15:07 +0100 |
---|---|---|
committer | saghul <saghul@gmail.com> | 2012-02-23 23:15:07 +0100 |
commit | 6bab0393c42857232ce1194e5283a797ec4c6231 (patch) | |
tree | 8c74d41879fcbc65f10965d8692ee68ed9f96bad /ares_data.c | |
parent | 4ab65461b6aefd0654a5b586bc6ee57976f3fba3 (diff) | |
download | c-ares-6bab0393c42857232ce1194e5283a797ec4c6231.tar.gz c-ares-6bab0393c42857232ce1194e5283a797ec4c6231.tar.bz2 c-ares-6bab0393c42857232ce1194e5283a797ec4c6231.zip |
Added support for parsing NAPTR records
Diffstat (limited to 'ares_data.c')
-rw-r--r-- | ares_data.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ares_data.c b/ares_data.c index a2477be..b062839 100644 --- a/ares_data.c +++ b/ares_data.c @@ -92,6 +92,20 @@ void ares_free_data(void *dataptr) ares_free_data(ptr->data.addr_node.next); break; + case ARES_DATATYPE_NAPTR_REPLY: + + if (ptr->data.naptr_reply.next) + ares_free_data(ptr->data.naptr_reply.next); + if (ptr->data.naptr_reply.flags) + free(ptr->data.naptr_reply.flags); + if (ptr->data.naptr_reply.service) + free(ptr->data.naptr_reply.service); + if (ptr->data.naptr_reply.regexp); + free(ptr->data.naptr_reply.regexp); + if (ptr->data.naptr_reply.replacement); + free(ptr->data.naptr_reply.replacement); + break; + default: return; } @@ -148,6 +162,16 @@ void *ares_malloc_data(ares_datatype type) sizeof(ptr->data.addr_node.addrV6)); break; + case ARES_DATATYPE_NAPTR_REPLY: + ptr->data.naptr_reply.next = NULL; + ptr->data.naptr_reply.flags = NULL; + ptr->data.naptr_reply.service; + ptr->data.naptr_reply.regexp = NULL; + ptr->data.naptr_reply.replacement = NULL; + ptr->data.naptr_reply.order = 0; + ptr->data.naptr_reply.preference = 0; + break; + default: free(ptr); return NULL; |