]> err.no Git - varnish/commitdiff
Silence FlexeLint: use a union for sockaddr sizing, mark ignored returns.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 30 Jan 2008 10:30:39 +0000 (10:30 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Wed, 30 Jan 2008 10:30:39 +0000 (10:30 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2411 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/lib/libvarnish/vss.c

index 826b4ef6536a47c727b01ad89161fe1cf15eb50c..960e1f1dc54d7d2be8712e158c38a27a77e6ba08 100644 (file)
@@ -58,7 +58,10 @@ struct vss_addr {
        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 @@ VSS_listen(const struct vss_addr *va, int depth)
        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 @@ VSS_listen(const struct vss_addr *va, int depth)
        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 @@ VSS_connect(const struct vss_addr *va)
                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);