fprintf(file, "\t%lu", tmpttl);
fprintf(file, "\t%lu", (u_long)tmpttl);
__p_rr(cp, msg, file)	const u_char *cp, *msg;	FILE *file;{	int type, class, dlen, n, c;	struct in_addr inaddr;	const u_char *cp1, *cp2;	u_int32_t tmpttl, t;	int lcnt;	if ((cp = p_fqname(cp, msg, file)) == NULL)		return (NULL);			/* compression error */	type = _getshort((u_char*)cp);	cp += INT16SZ;	class = _getshort((u_char*)cp);	cp += INT16SZ;	tmpttl = _getlong((u_char*)cp);	cp += INT32SZ;	dlen = _getshort((u_char*)cp);	cp += INT16SZ;	cp1 = cp;	if ((!_res.pfcode) || (_res.pfcode & RES_PRF_TTLID))		fprintf(file, "\t%lu", tmpttl);	if ((!_res.pfcode) || (_res.pfcode & RES_PRF_CLASS))		fprintf(file, "\t%s", __p_class(class));	fprintf(file, "\t%s", __p_type(type));	/*	 * Print type specific data, if appropriate	 */	switch (type) {	case T_A:		switch (class) {		case C_IN:		case C_HS:			bcopy(cp, (char *)&inaddr, INADDRSZ);			if (dlen == 4) {				fprintf(file, "\t%s", inet_ntoa(inaddr));				cp += dlen;			} else if (dlen == 7) {				char *address;				u_char protocol;				u_short port;				address = inet_ntoa(inaddr);				cp += INADDRSZ;				protocol = *(u_char*)cp;				cp += sizeof(u_char);				port = _getshort((u_char*)cp);				cp += INT16SZ;				fprintf(file, "\t%s\t; proto %d, port %d",					address, protocol, port);			}			break;		default:			cp += dlen;		}		break;	case T_CNAME:	case T_MB:	case T_MG:	case T_MR:	case T_NS:	case T_PTR:		putc('\t', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		break;	case T_HINFO:	case T_ISDN:		cp2 = cp + dlen;		if (n = *cp++) {			fprintf(file, "\t%.*s", n, cp);			cp += n;		}		if ((cp < cp2) && (n = *cp++)) {			fprintf(file, "\t%.*s", n, cp);			cp += n;		} else if (type == T_HINFO)			fprintf(file, "\n;; *** Warning *** OS-type missing");		break;	case T_SOA:		putc('\t', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		putc(' ', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		fputs(" (\n", file);		t = _getlong((u_char*)cp);  cp += INT32SZ;		fprintf(file, "\t\t\t%lu\t; serial\n", t);		t = _getlong((u_char*)cp);  cp += INT32SZ;		fprintf(file, "\t\t\t%lu\t; refresh (%s)\n", t, __p_time(t));		t = _getlong((u_char*)cp);  cp += INT32SZ;		fprintf(file, "\t\t\t%lu\t; retry (%s)\n", t, __p_time(t));		t = _getlong((u_char*)cp);  cp += INT32SZ;		fprintf(file, "\t\t\t%lu\t; expire (%s)\n", t, __p_time(t));		t = _getlong((u_char*)cp);  cp += INT32SZ;		fprintf(file, "\t\t\t%lu )\t; minimum (%s)", t, __p_time(t));		break;	case T_MX:	case T_AFSDB:	case T_RT:		fprintf(file, "\t%d ", _getshort((u_char*)cp));		cp += INT16SZ;		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		break;	case T_PX:		fprintf(file, "\t%d ", _getshort((u_char*)cp));		cp += INT16SZ;		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		putc(' ', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		break;	case T_TXT:	case T_X25:		(void) fputs("\t\"", file);		cp2 = cp1 + dlen;		while (cp < cp2) {			if (n = (unsigned char) *cp++) {				for (c = n; c > 0 && cp < cp2; c--)					if ((*cp == '\n') || (*cp == '"')) {					    (void) putc('\\', file);					    (void) putc(*cp++, file);					} else					    (void) putc(*cp++, file);			}		}		putc('"', file);		break;	case T_NSAP:		(void) fprintf(file, "\t%s", inet_nsap_ntoa(dlen, cp, NULL));		cp += dlen;		break;	case T_MINFO:	case T_RP:		putc('\t', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		putc(' ', file);		if ((cp = p_fqname(cp, msg, file)) == NULL)			return (NULL);		break;	case T_UINFO:		putc('\t', file);		fputs((char *)cp, file);		cp += dlen;		break;	case T_UID:	case T_GID:		if (dlen == 4) {			fprintf(file, "\t%u", _getlong((u_char*)cp));			cp += INT32SZ;		}		break;	case T_WKS:		if (dlen < INT32SZ + 1)			break;		bcopy(cp, (char *)&inaddr, INADDRSZ);		cp += INT32SZ;		fprintf(file, "\t%s %s ( ",			inet_ntoa(inaddr),			deproto((int) *cp));		cp += sizeof(u_char);		n = 0;		lcnt = 0;		while (cp < cp1 + dlen) {			c = *cp++;			do {				if (c & 0200) {					if (lcnt == 0) {						fputs("\n\t\t\t", file);						lcnt = 5;					}					fputs(dewks(n), file);					putc(' ', file);					lcnt--;				}				c <<= 1;			} while (++n & 07);		}		putc(')', file);		break;#ifdef ALLOW_T_UNSPEC	case T_UNSPEC:		{			int NumBytes = 8;			u_char *DataPtr;			int i;			if (dlen < NumBytes) NumBytes = dlen;			fprintf(file, "\tFirst %d bytes of hex data:",				NumBytes);			for (i = 0, DataPtr = cp; i < NumBytes; i++, DataPtr++)				fprintf(file, " %x", *DataPtr);			cp += dlen;		}		break;#endif /* ALLOW_T_UNSPEC */	default:		fprintf(file, "\t?%d?", type);		cp += dlen;	}#if 0	fprintf(file, "\t; dlen=%d, ttl %s\n", dlen, __p_time(tmpttl));#else	putc('\n', file);#endif	if (cp - cp1 != dlen) {		fprintf(file, ";; packet size error (found %d, dlen was %d)\n",			cp - cp1, dlen);		cp = NULL;	}	return (cp);}