Linux vs. BSD sockaddr_storage fix
[umurmur.git] / src / server.c
index 953abe1b8970294aa957e9b4e15c9d440728e2a3..3afca49aeaee3c0c76e7556c60534597c0e3e8be 100644 (file)
@@ -69,10 +69,13 @@ struct sockaddr_storage** Server_setupAddressesAndPorts()
 
        struct sockaddr_storage* v4address = calloc(1, sizeof(struct sockaddr_storage));
        v4address->ss_family = AF_INET;
-       v4address->ss_len = sizeof(struct sockaddr_storage);
        struct sockaddr_storage* v6address = calloc(1, sizeof(struct sockaddr_storage));
        v6address->ss_family = AF_INET6;
+
+#if defined(NETBSD) || defined(FREEBSD) || defined(OPENBSD) || defined(__APPLE__)
+       v4address->ss_len = sizeof(struct sockaddr_storage);
        v6address->ss_len = sizeof(struct sockaddr_storage);
+#endif
 
        int error = 0;