Apparently IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP are more portable than
IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP. (Windows and Linux have
both, but OS X only has the latter.)
else
mc_req_ipv6.ipv6mr_interface = 0;
- optname = join_group ? IPV6_ADD_MEMBERSHIP : IPV6_DROP_MEMBERSHIP;
+ optname = join_group ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
result = setsockopt (socket->priv->fd, IPPROTO_IPV6, optname,
&mc_req_ipv6, sizeof (mc_req_ipv6));
}