diff options
Diffstat (limited to 'src/libs6dns/s6dns_message_parse_answer_a.c')
| -rw-r--r-- | src/libs6dns/s6dns_message_parse_answer_a.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libs6dns/s6dns_message_parse_answer_a.c b/src/libs6dns/s6dns_message_parse_answer_a.c new file mode 100644 index 0000000..152b947 --- /dev/null +++ b/src/libs6dns/s6dns_message_parse_answer_a.c @@ -0,0 +1,16 @@ +/* ISC license. */ + +#include <skalibs/stralloc.h> +#include <s6-dns/s6dns-constants.h> +#include <s6-dns/s6dns-message.h> + +int s6dns_message_parse_answer_a (s6dns_message_rr_t const *rr, char const *packet, unsigned int packetlen, unsigned int pos, unsigned int section, void *stuff) +{ + if ((section == 2) && (rr->rtype == S6DNS_T_A) && (rr->rdlength == 4)) + { + stralloc *data = stuff ; + if (!stralloc_catb(data, packet+pos, 4)) return -1 ; + } + (void)packetlen ; + return 1 ; +} |
