- #ifdef INET6
- cp = (u_char *)numb->s6_addr;
- if (cp[0]==0 && cp[1]==0 && cp[2]==0 && cp[3]==0 && cp[4]==0 &&
- cp[5]==0 && cp[6]==0 && cp[7]==0 && cp[8]==0 && cp[9]==0 &&
- ((cp[10]==0 && cp[11]==0) || (cp[10]==0xff && cp[11]==0xff)))
- {
- (void)sprintf(ipbuf, "%u.%u.%u.%u.in-addr.arpa.",
- (u_int)(cp[15]), (u_int)(cp[14]),
- (u_int)(cp[13]), (u_int)(cp[12]));
- }
- else
- {
- (void)sprintf(ipbuf, "%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.%x.ip6.int.",
- (u_int)(cp[15]&0xf), (u_int)(cp[15]>>4),
- (u_int)(cp[14]&0xf), (u_int)(cp[14]>>4),
- (u_int)(cp[13]&0xf), (u_int)(cp[13]>>4),
- (u_int)(cp[12]&0xf), (u_int)(cp[12]>>4),
- (u_int)(cp[11]&0xf), (u_int)(cp[11]>>4),
- (u_int)(cp[10]&0xf), (u_int)(cp[10]>>4),
- (u_int)(cp[9]&0xf), (u_int)(cp[9]>>4),
- (u_int)(cp[8]&0xf), (u_int)(cp[8]>>4),
- (u_int)(cp[7]&0xf), (u_int)(cp[7]>>4),
- (u_int)(cp[6]&0xf), (u_int)(cp[6]>>4),
- (u_int)(cp[5]&0xf), (u_int)(cp[5]>>4),
- (u_int)(cp[4]&0xf), (u_int)(cp[4]>>4),
- (u_int)(cp[3]&0xf), (u_int)(cp[3]>>4),
- (u_int)(cp[2]&0xf), (u_int)(cp[2]>>4),
- (u_int)(cp[1]&0xf), (u_int)(cp[1]>>4),
- (u_int)(cp[0]&0xf), (u_int)(cp[0]>>4));
- }
- #else
- cp = (u_char *)&numb->S_ADDR;
- (void) sprintf(ipbuf, "%u.%u.%u.%u.in-addr.arpa.", (u_int) (cp[3]), (u_int) (cp[2]), (u_int) (cp[1]),
- (u_int) (cp[0]));
- #endif