Search
j0ke.net Open Build Service
>
Projects
>
internetx
:
desktop
>
commoncpp2
> commoncpp-socketmemcpy.dif
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File commoncpp-socketmemcpy.dif of Package commoncpp2
Index: commoncpp2-1.6.1/src/socket.cpp =================================================================== --- commoncpp2-1.6.1.orig/src/socket.cpp +++ commoncpp2-1.6.1/src/socket.cpp @@ -1149,7 +1149,7 @@ Socket::Error Socket::join(const IPV4Mul return error(errMulticastDisabled,"Multicast not enabled on socket"); getsockname(so, (struct sockaddr *)&myaddr, &len); - memcpy(&group.imr_interface, &myaddr.sin_addr, sizeof(&myaddr.sin_addr)); + memcpy(&group.imr_interface, &myaddr.sin_addr, sizeof(myaddr.sin_addr)); group.imr_multiaddr = getaddress(ia); setsockopt(so, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&group, sizeof(group)); return errSuccess; @@ -1170,7 +1170,7 @@ Socket::Error Socket::join(const IPV6Mul return error(errMulticastDisabled,"Multicast not enabled on socket"); getsockname(so, (struct sockaddr *)&myaddr, &len); - memcpy(&group.ipv6mr_interface, &myaddr.sin6_addr, sizeof(&myaddr.sin6_addr)); + group.ipv6mr_interface = myaddr.sin6_scope_id; group.ipv6mr_multiaddr = getaddress(ia); setsockopt(so, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, (char *)&group, sizeof(group)); return errSuccess; @@ -1192,7 +1192,7 @@ Socket::Error Socket::drop(const IPV4Mul return error(errMulticastDisabled,"Multicast not enabled on socket"); getsockname(so, (struct sockaddr *)&myaddr, &len); - memcpy(&group.imr_interface, &myaddr.sin_addr, sizeof(&myaddr.sin_addr)); + memcpy(&group.imr_interface, &myaddr.sin_addr, sizeof(myaddr.sin_addr)); group.imr_multiaddr = getaddress(ia); setsockopt(so, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char *)&group, sizeof(group)); return errSuccess; @@ -1213,7 +1213,7 @@ Socket::Error Socket::drop(const IPV6Mul return error(errMulticastDisabled,"Multicast not enabled on socket"); getsockname(so, (struct sockaddr *)&myaddr, &len); - memcpy(&group.ipv6mr_interface, &myaddr.sin6_addr, sizeof(&myaddr.sin6_addr)); + group.ipv6mr_interface = myaddr.sin6_scope_id; group.ipv6mr_multiaddr = getaddress(ia); setsockopt(so, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, (char *)&group, sizeof(group)); return errSuccess;