-
- /* If we had to truncate, shrink the number to avoid fireworks */
- if (ret > sizeof(answer))
- ret = sizeof(answer);
-
- hp = (HEADER *)&answer[0];
- startptr = &answer[0]; /* start and end of buffer */
- endptr = &answer[ret];
- ptr = startptr + HFIXEDSZ; /* advance past header */
-
- for (qdcount = ntohs(hp->qdcount); qdcount--; ptr += ret + QFIXEDSZ) {
- if ((ret = dn_skipname(ptr, endptr)) < 0) {
- lprintf(9, "dn_skipname error\n");
- return(0);
+ else {
+ /* If we had to truncate, shrink the number to avoid fireworks */
+ if (ret > sizeof(answer)) {
+ ret = sizeof(answer);