Mailing List Archive

r3161 - trunk/varnish-cache/bin/varnishd
Author: phk
Date: 2008-09-03 15:20:45 +0200 (Wed, 03 Sep 2008)
New Revision: 3161

Modified:
trunk/varnish-cache/bin/varnishd/cache_vrt.c
Log:
Cater for even more INET6 API stupidity.



Modified: trunk/varnish-cache/bin/varnishd/cache_vrt.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_vrt.c 2008-09-03 13:03:22 UTC (rev 3160)
+++ trunk/varnish-cache/bin/varnishd/cache_vrt.c 2008-09-03 13:20:45 UTC (rev 3161)
@@ -594,17 +594,21 @@
VRT_IP_string(const struct sess *sp, const struct sockaddr *sa)
{
char *p;
+ const struct sockaddr_in *si4;
+ const struct sockaddr_in6 *si6;
const void *addr;
int len;

switch (sa->sa_family) {
case AF_INET:
len = INET_ADDRSTRLEN;
- addr = &((const struct sockaddr_in *)sa)->sin_addr;
+ si4 = (const void *)sa;
+ addr = &(si4->sin_addr);
break;
case AF_INET6:
len = INET6_ADDRSTRLEN;
- addr = &((const struct sockaddr_in6 *)sa)->sin6_addr;
+ si6 = (const void *)sa;
+ addr = &(si6->sin6_addr);
break;
default:
INCOMPL();