[packages] xsever-xorg: Fix typo
[openwrt/svn-archive/archive.git] / libs / libtorrent / patches / 120-fix-ipv6_socket_datagram.diff
1 Index: libtorrent/src/net/socket_datagram.cc
2 ===================================================================
3 --- libtorrent/src/net/socket_datagram.cc (revision 1121)
4 +++ libtorrent/src/net/socket_datagram.cc (working copy)
5 @@ -73,6 +73,23 @@
6 int r;
7
8 if (sa != NULL) {
9 +#ifdef RAK_USE_INET6
10 + if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet) {
11 + uint32_t addr32[4];
12 + sockaddr_in6 mapped_addr;
13 + memset(&mapped_addr, 0, sizeof(mapped_addr));
14 + mapped_addr.sin6_family = AF_INET6;
15 + addr32[0] = 0;
16 + addr32[1] = 0;
17 + addr32[2] = htonl(0xffff);
18 + addr32[3] = sa->sa_inet()->address_n();
19 + memcpy(mapped_addr.sin6_addr.s6_addr, addr32, sizeof(uint32_t) * 4);
20 + mapped_addr.sin6_port = sa->sa_inet()->port_n();
21 + r = ::sendto(m_fileDesc, buffer, length, 0, (sockaddr*)&mapped_addr, sizeof(mapped_addr));
22 + } else if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet6) {
23 + r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet6()->c_sockaddr(), sizeof(rak::socket_address_inet6));
24 + } else
25 +#endif
26 r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet()->c_sockaddr(), sizeof(rak::socket_address_inet));
27 } else {
28 r = ::send(m_fileDesc, buffer, length, 0);