startptr = &answer.bytes[0]; // start and end of buffer
endptr = &answer.bytes[ret];
ptr = startptr + HFIXEDSZ; // advance past header
for (qdcount = ntohs(answer.header.qdcount); qdcount--; ptr += ret + QFIXEDSZ) {
if ((ret = dn_skipname(ptr, endptr)) < 0) {
startptr = &answer.bytes[0]; // start and end of buffer
endptr = &answer.bytes[ret];
ptr = startptr + HFIXEDSZ; // advance past header
for (qdcount = ntohs(answer.header.qdcount); qdcount--; ptr += ret + QFIXEDSZ) {
if ((ret = dn_skipname(ptr, endptr)) < 0) {