summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qnativesocketengine_win.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2010-08-18 14:17:55 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2010-08-24 10:28:36 (GMT)
commitae29cdf5cd319e447ef75b11ac1247375c6c8192 (patch)
tree7090407072c816b755a5bf33edf541cb0c3790de /src/network/socket/qnativesocketengine_win.cpp
parent409d41185e85f2eefe6bb4872c4dd3005bef8170 (diff)
downloadQt-ae29cdf5cd319e447ef75b11ac1247375c6c8192.zip
Qt-ae29cdf5cd319e447ef75b11ac1247375c6c8192.tar.gz
Qt-ae29cdf5cd319e447ef75b11ac1247375c6c8192.tar.bz2
Keep the scopeid that getaddrinfo(3) returns to us.
Task-number: QTBUG-12608, QTBUG-12243 Reviewed-by: Markus Goetz
Diffstat (limited to 'src/network/socket/qnativesocketengine_win.cpp')
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 8177b4f..477ef45 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -207,6 +207,7 @@ static inline void qt_socket_setPortAndAddress(SOCKET socketDescriptor, sockaddr
if (address.protocol() == QAbstractSocket::IPv6Protocol) {
memset(sockAddrIPv6, 0, sizeof(qt_sockaddr_in6));
sockAddrIPv6->sin6_family = AF_INET6;
+ sockAddrIPv6->sin6_scope_id = address.scopeId().toInt();
WSAHtons(socketDescriptor, port, &(sockAddrIPv6->sin6_port));
Q_IPV6ADDR tmp = address.toIPv6Address();
memcpy(&(sockAddrIPv6->sin6_addr.qt_s6_addr), &tmp, sizeof(tmp));