do_rrset(msg, cp, cnt, pflag, file, hs) int cnt, pflag;
do_rrset(msg, len, cp, cnt, pflag, file, hs) int cnt, pflag, len;
do_rrset(msg, cp, cnt, pflag, file, hs)	int cnt, pflag;	const u_char *cp, *msg;	const char *hs;	FILE *file;{	int n;	int sflag;	/*	 * Print answer records.	 */	sflag = (_res.pfcode & pflag);	if (n = ntohs(cnt)) {		if ((!_res.pfcode) ||		    ((sflag) && (_res.pfcode & RES_PRF_HEAD1)))			fprintf(file, hs);		while (--n >= 0) {			if ((!_res.pfcode) || sflag) {				cp = p_rr(cp, msg, file);			} else {				unsigned int dlen;				cp += __dn_skipname(cp, cp + MAXCDNAME);				cp += INT16SZ;				cp += INT16SZ;				cp += INT32SZ;				dlen = _getshort((u_char*)cp);				cp += INT16SZ;				cp += dlen;			}			if ((cp - msg) > PACKETSZ)				return (NULL);		}		if ((!_res.pfcode) ||		    ((sflag) && (_res.pfcode & RES_PRF_HEAD1)))			putc('\n', file);	}	return (cp);}