Fix Solaris builds
authorPavel Rochnyack <pavel2000@ngs.ru>
Sun, 14 Oct 2018 11:05:42 +0000 (18:05 +0700)
committerPavel Rochnyack <pavel2000@ngs.ru>
Sun, 14 Oct 2018 11:05:42 +0000 (18:05 +0700)
Change introduced in df135922b19890047ebf725e6b82cd1c174c6d52 (#2810) causes build
failure on Solaris:

src/libcollectdclient/server.c: In function ‘server_multicast_join’:
src/libcollectdclient/server.c:103:9: error: unknown field ‘imr_address’ specified in initializer
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
         ^
src/libcollectdclient/server.c:103:69: error: ‘struct sockaddr_in’ has no member named ‘S_un’
         .imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
                                                                     ^
src/libcollectdclient/server.c:102:27: error: missing braces around initializer [-Werror=missing-braces]
     struct ip_mreq mreq = {
                           ^
src/libcollectdclient/server.c:102:27: note: (near initialization for ‘mreq’)

Removed this change as not related to WIN32 platform.

src/libcollectdclient/server.c

index f4e8782..629c367 100644 (file)
@@ -100,7 +100,7 @@ static int server_multicast_join(lcc_listener_t *srv,
     };
 #else
     struct ip_mreq mreq = {
-        .imr_multiaddr.s_addr = sa->s_addr,
+        .imr_multiaddr.s_addr = sa->sin_addr.s_addr,
     };
 #endif /* WIN32 */
 #endif /* HAVE_STRUCT_IP_MREQN_IMR_IFINDEX */