r2411 - trunk/varnish-cache/lib/libvarnish

phk at projects.linpro.no phk at projects.linpro.no
Wed Jan 30 11:30:39 CET 2008


Author: phk
Date: 2008-01-30 11:30:39 +0100 (Wed, 30 Jan 2008)
New Revision: 2411

Modified:
   trunk/varnish-cache/lib/libvarnish/vss.c
Log:
Silence FlexeLint: use a union for sockaddr sizing, mark ignored returns.


Modified: trunk/varnish-cache/lib/libvarnish/vss.c
===================================================================
--- trunk/varnish-cache/lib/libvarnish/vss.c	2008-01-30 10:24:54 UTC (rev 2410)
+++ trunk/varnish-cache/lib/libvarnish/vss.c	2008-01-30 10:30:39 UTC (rev 2411)
@@ -58,7 +58,10 @@
 	int			 va_socktype;
 	int			 va_protocol;
 	socklen_t		 va_addrlen;
-	struct sockaddr_storage	 va_addr;
+	union {
+		struct sockaddr_storage	 _storage;
+		struct sockaddr		 sa;
+	} va_addr;
 };
 
 /*
@@ -179,7 +182,7 @@
 	val = 1;
 	if (setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof val) != 0) {
 		perror("setsockopt(SO_REUSEADDR, 1)");
-		close(sd);
+		(void)close(sd);
 		return (-1);
 	}
 #ifdef IPV6_V6ONLY
@@ -188,18 +191,18 @@
 	if (va->va_family == AF_INET6 &&
 	    setsockopt(sd, IPPROTO_IPV6, IPV6_V6ONLY, &val, sizeof val) != 0) {
 		perror("setsockopt(IPV6_V6ONLY, 1)");
-		close(sd);
+		(void)close(sd);
 		return (-1);
 	}
 #endif
-	if (bind(sd, (const struct sockaddr *)&va->va_addr, va->va_addrlen) != 0) {
+	if (bind(sd, &va->va_addr.sa, va->va_addrlen) != 0) {
 		perror("bind()");
-		close(sd);
+		(void)close(sd);
 		return (-1);
 	}
 	if (listen(sd, depth) != 0) {
 		perror("listen()");
-		close(sd);
+		(void)close(sd);
 		return (-1);
 	}
 	return (sd);
@@ -219,9 +222,9 @@
 		perror("socket()");
 		return (-1);
 	}
-	if (connect(sd, (const struct sockaddr *)&va->va_addr, va->va_addrlen) != 0) {
+	if (connect(sd, &va->va_addr.sa, va->va_addrlen) != 0) {
 		perror("connect()");
-		close(sd);
+		(void)close(sd);
 		return (-1);
 	}
 	return (sd);




More information about the varnish-commit mailing list