17 if (!stralloc_copys(out,
""))
return DNS_MEM;
20 uint16_unpack_big(header + 6,&numanswers);
24 while (numanswers--) {
27 uint16_unpack_big(header + 8,&datalen);
29 if (byte_equal(header + 2,2,
DNS_C_IN)) {
31 txtlen = (
unsigned char)
buf[pos];
32 for (i = 1; i < datalen; ++i) {
35 txtlen += (
unsigned char) ch + 1;
37 if (ch < 32) ch =
'?';
38 if (ch > 126) ch =
'?';
39 if (!stralloc_append(out,&ch))
return DNS_MEM;
42 if (txtlen)
if (!stralloc_append(out,
"\n"))
return DNS_MEM;
void dns_domain_free(char **out)