This patch checks for Solaris and uses ip_mreq instead of ip_mreqn if on this
platform.
Fixes #575937.
switch (addr->ss_family) {
case AF_INET:
{
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) || (defined (__SVR4) && defined (__sun))
struct ip_mreq mreq4;
#else
struct ip_mreqn mreq4;
mreq4.imr_multiaddr.s_addr =
((struct sockaddr_in *) addr)->sin_addr.s_addr;
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) || (defined (__SVR4) && defined (__sun))
mreq4.imr_interface.s_addr = INADDR_ANY;
#else
if (iface)