unsigned	fback, hostnet;
unsigned int	fback, hostnet;
print_addrx(struct pfr_addr *ad, struct pfr_addr *rad, int dns){	char		ch, buf[BUF_SIZE] = "{error}";	char		fb[] = { ' ', 'M', 'A', 'D', 'C', 'Z', 'X', ' ', 'Y' };	unsigned	fback, hostnet;	fback = (rad != NULL) ? rad->pfra_fback : ad->pfra_fback;	ch = (fback < sizeof(fb)/sizeof(*fb)) ? fb[fback] : '?';	hostnet = (ad->pfra_af == AF_INET6) ? 128 : 32;	inet_ntop(ad->pfra_af, &ad->pfra_u, buf, sizeof(buf));	printf("%c %c%s", ch, (ad->pfra_not?'!':' '), buf);	if (ad->pfra_net < hostnet)		printf("/%d", ad->pfra_net);	if (rad != NULL && fback != PFR_FB_NONE) {		if (strlcpy(buf, "{error}", sizeof(buf)) >= sizeof(buf))			errx(1, "print_addrx: strlcpy");		inet_ntop(rad->pfra_af, &rad->pfra_u, buf, sizeof(buf));		printf("\t%c%s", (rad->pfra_not?'!':' '), buf);		if (rad->pfra_net < hostnet)			printf("/%d", rad->pfra_net);	}	if (rad != NULL && fback == PFR_FB_NONE)		printf("\t nomatch");	if (dns && ad->pfra_net == hostnet) {		char host[NI_MAXHOST];		union sockaddr_union sa;		strlcpy(host, "?", sizeof(host));		bzero(&sa, sizeof(sa));		sa.sa.sa_family = ad->pfra_af;		if (sa.sa.sa_family == AF_INET) {			sa.sa.sa_len = sizeof(sa.sin);			sa.sin.sin_addr = ad->pfra_ip4addr;		} else {			sa.sa.sa_len = sizeof(sa.sin6);			sa.sin6.sin6_addr = ad->pfra_ip6addr;		}		if (getnameinfo(&sa.sa, sa.sa.sa_len, host, sizeof(host),		    NULL, 0, NI_NAMEREQD) == 0)			printf("\t(%s)", host);	}	printf("\n");}