diff options
author | Marko Kreen <markokr@gmail.com> | 2012-06-15 13:29:03 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-06-15 13:32:48 +0200 |
commit | 979bf951d3436bf7e86e690de26a174b39a081f8 (patch) | |
tree | 1c621aed06a24acef46f3d9eb7151bfd34384254 /ares_data.c | |
parent | 38b69b7269d4abbc75f34b8ab38d7bdab4ad91ab (diff) | |
download | c-ares-979bf951d3436bf7e86e690de26a174b39a081f8.tar.gz c-ares-979bf951d3436bf7e86e690de26a174b39a081f8.tar.bz2 c-ares-979bf951d3436bf7e86e690de26a174b39a081f8.zip |
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
Diffstat (limited to 'ares_data.c')
-rw-r--r-- | ares_data.c | 17 |
1 files changed, 17 insertions, 0 deletions
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; |