summaryrefslogtreecommitdiff
path: root/ACE/ace/SOCK_Dgram.cpp
diff options
context:
space:
mode:
authorTimothy Simpson <simpsont@objectcomputing.com>2020-08-01 14:52:22 -0500
committerTimothy Simpson <simpsont@objectcomputing.com>2020-08-01 14:52:22 -0500
commit3481b96f1097e2c4fde54701d4ad818c12759008 (patch)
tree6f05642dc1611ed83f75d28718e776b225158ba6 /ACE/ace/SOCK_Dgram.cpp
parent3d23f3e578a42ea72acb202dd13a1fdc2e2a2e26 (diff)
downloadATCD-3481b96f1097e2c4fde54701d4ad818c12759008.tar.gz
fixing 'empty' result failure case to only apply when interface is specified
Diffstat (limited to 'ACE/ace/SOCK_Dgram.cpp')
-rw-r--r--ACE/ace/SOCK_Dgram.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/ACE/ace/SOCK_Dgram.cpp b/ACE/ace/SOCK_Dgram.cpp
index 4c384776d6e..39a0bd71e3a 100644
--- a/ACE/ace/SOCK_Dgram.cpp
+++ b/ACE/ace/SOCK_Dgram.cpp
@@ -834,21 +834,23 @@ ACE_SOCK_Dgram::make_multicast_ifaddr6 (ipv6_mreq *ret_mreq,
}
delete[] buf; // clean up
+
#endif /* ACE_WIN32 */
#ifndef ACE_LACKS_IF_NAMETOINDEX
if (lmreq.ipv6mr_interface == 0)
{
lmreq.ipv6mr_interface = ACE_OS::if_nametoindex (ACE_TEXT_ALWAYS_CHAR (net_if));
}
+
#endif /* ACE_LACKS_IF_NAMETOINDEX */
+ if (lmreq.ipv6mr_interface == 0)
+ return -1;
+
}
#else /* ACE_WIN32 || !ACE_LACKS_IF_NAMETOINDEX */
ACE_UNUSED_ARG(net_if);
#endif /* ACE_WIN32 || !ACE_LACKS_IF_NAMETOINDEX */
- if (lmreq.ipv6mr_interface == 0)
- return -1;
-
// now set the multicast address
ACE_OS::memcpy (&lmreq.ipv6mr_multiaddr,
&((sockaddr_in6 *) mcast_addr.get_addr ())->sin6_addr,