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();

