From 979bf951d3436bf7e86e690de26a174b39a081f8 Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Fri, 15 Jun 2012 13:29:03 +0200 Subject: SOA parser added I need to do SOA queries, so here is a parser for them. - ares_soa_reply: new struct - ares_malloc_data/ares_free_soa: ARES_DATATYPE_SOA_REPLY - ares_parse_soa_reply: actual function --- ares_data.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'ares_data.c') diff --git a/ares_data.c b/ares_data.c index 0e43ddd..7c04650 100644 --- a/ares_data.c +++ b/ares_data.c @@ -106,6 +106,13 @@ void ares_free_data(void *dataptr) free(ptr->data.naptr_reply.replacement); break; + case ARES_DATATYPE_SOA_REPLY: + if (ptr->data.soa_reply.nsname) + free(ptr->data.soa_reply.nsname); + if (ptr->data.soa_reply.hostmaster) + free(ptr->data.soa_reply.hostmaster); + break; + default: return; } @@ -172,6 +179,16 @@ void *ares_malloc_data(ares_datatype type) ptr->data.naptr_reply.preference = 0; break; + case ARES_DATATYPE_SOA_REPLY: + ptr->data.soa_reply.nsname = NULL; + ptr->data.soa_reply.hostmaster = NULL; + ptr->data.soa_reply.serial = 0; + ptr->data.soa_reply.refresh = 0; + ptr->data.soa_reply.retry = 0; + ptr->data.soa_reply.expire = 0; + ptr->data.soa_reply.minttl = 0; + break; + default: free(ptr); return NULL; -- cgit v1.2.3