diff -urNad /home/racon/squid/squid_2.5.3ipv6-20030616/lib/rfc1035.c squid_2.5.3ipv6-20030616/lib/rfc1035.c --- /home/racon/squid/squid_2.5.3ipv6-20030616/lib/rfc1035.c 2003-06-16 21:28:24.000000000 -0300 +++ squid_2.5.3ipv6-20030616/lib/rfc1035.c 2003-06-16 22:43:43.000000000 -0300 @@ -545,7 +545,7 @@ #if INET6 if (IN6_IS_ADDR_V4MAPPED(&addr)) { - i = (unsigned int) ntohl(addr.s6_addr[3]); + i = (unsigned int) ntohl(addr.s6_addr32[3]); #else i = (unsigned int) ntohl(addr.s_addr); #endif @@ -557,28 +557,27 @@ #if INET6 } else { /* a real IPv6 address */ - unsigned char * a = (unsigned char *)rev; snprintf(rev, 72, "%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", - a[0] & 0x0f, a[0] & 0xf0, - a[1] & 0x0f, a[1] & 0xf0, - a[2] & 0x0f, a[2] & 0xf0, - a[3] & 0x0f, a[3] & 0xf0, - a[4] & 0x0f, a[4] & 0xf0, - a[5] & 0x0f, a[5] & 0xf0, - a[6] & 0x0f, a[6] & 0xf0, - a[7] & 0x0f, a[7] & 0xf0, - a[8] & 0x0f, a[8] & 0xf0, - a[9] & 0x0f, a[9] & 0xf0, - a[10] & 0x0f, a[10] & 0xf0, - a[11] & 0x0f, a[11] & 0xf0, - a[12] & 0x0f, a[12] & 0xf0, - a[13] & 0x0f, a[13] & 0xf0, - a[14] & 0x0f, a[14] & 0xf0, - a[15] & 0x0f, a[15] & 0xf0); + addr.s6_addr[15] & 0x0f, addr.s6_addr[15] >> 4, + addr.s6_addr[14] & 0x0f, addr.s6_addr[14] >> 4, + addr.s6_addr[13] & 0x0f, addr.s6_addr[13] >> 4, + addr.s6_addr[12] & 0x0f, addr.s6_addr[12] >> 4, + addr.s6_addr[11] & 0x0f, addr.s6_addr[11] >> 4, + addr.s6_addr[10] & 0x0f, addr.s6_addr[10] >> 4, + addr.s6_addr[9] & 0x0f, addr.s6_addr[9] >> 4, + addr.s6_addr[8] & 0x0f, addr.s6_addr[8] >> 4, + addr.s6_addr[7] & 0x0f, addr.s6_addr[7] >> 4, + addr.s6_addr[6] & 0x0f, addr.s6_addr[6] >> 4, + addr.s6_addr[5] & 0x0f, addr.s6_addr[5] >> 4, + addr.s6_addr[4] & 0x0f, addr.s6_addr[4] >> 4, + addr.s6_addr[3] & 0x0f, addr.s6_addr[3] >> 4, + addr.s6_addr[2] & 0x0f, addr.s6_addr[2] >> 4, + addr.s6_addr[1] & 0x0f, addr.s6_addr[1] >> 4, + addr.s6_addr[0] & 0x0f, addr.s6_addr[0] >> 4); } #endif h.id = rfc1035Qid();