#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