diff --git a/configure.ac b/configure.ac index 9e406764c..73fb3f51f 100644 --- a/configure.ac +++ b/configure.ac @@ -243,6 +243,8 @@ AC_CHECK_FUNCS(fnmatch) AC_CHECK_FUNCS(strndup) AC_CHECK_FUNCS(strcasestr) +AC_CHECK_MEMBERS([struct sockaddr_in.sin_len], [], [], [[#include ]]) + if test x$host_is_linux = xyes; then MPD_OPTIONAL_FUNC(eventfd, eventfd, USE_EVENTFD) MPD_OPTIONAL_FUNC(signalfd, signalfd, USE_SIGNALFD) diff --git a/src/net/IPv4Address.hxx b/src/net/IPv4Address.hxx index bba453a05..8a5aab1d5 100644 --- a/src/net/IPv4Address.hxx +++ b/src/net/IPv4Address.hxx @@ -81,8 +81,7 @@ class IPv4Address { static constexpr struct sockaddr_in Construct(struct in_addr address, uint16_t port) { return { -#if defined(__APPLE__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) +#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN sizeof(struct sockaddr_in), #endif AF_INET,