28 lines
966 B
Diff
28 lines
966 B
Diff
diff -u -r ../glib-2.56.0/gio/gsocket.c ./gio/gsocket.c
|
|
--- ../glib-2.56.0/gio/gsocket.c 2018-01-08 21:34:19.000000000 +0000
|
|
+++ ./gio/gsocket.c 2018-03-14 10:48:50.917328275 +0000
|
|
@@ -2397,7 +2397,11 @@
|
|
memset (&mc_req_src, 0, sizeof (mc_req_src));
|
|
|
|
/* By default use the default IPv4 multicast interface. */
|
|
+#ifdef __ANDROID__
|
|
+ mc_req_src.imr_interface = g_htonl (INADDR_ANY);
|
|
+#else
|
|
mc_req_src.imr_interface.s_addr = g_htonl (INADDR_ANY);
|
|
+#endif
|
|
|
|
if (iface)
|
|
{
|
|
@@ -2442,7 +2446,11 @@
|
|
}
|
|
|
|
iface_addr = (struct sockaddr_in *) &ifr.ifr_addr;
|
|
+#ifdef __ANDROID__
|
|
+ mc_req_src.imr_interface = iface_addr->sin_addr.s_addr;
|
|
+#else
|
|
mc_req_src.imr_interface.s_addr = iface_addr->sin_addr.s_addr;
|
|
+#endif
|
|
#endif /* defined(G_OS_WIN32) && defined (HAVE_IF_NAMETOINDEX) */
|
|
}
|
|
memcpy (&mc_req_src.imr_multiaddr, g_inet_address_to_bytes (group),
|