src/network/socket/qnativesocketengine_win.cpp
changeset 37 758a864f9613
parent 18 2f34d5167611
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
   205 {
   205 {
   206 #if !defined(QT_NO_IPV6)
   206 #if !defined(QT_NO_IPV6)
   207     if (address.protocol() == QAbstractSocket::IPv6Protocol) {
   207     if (address.protocol() == QAbstractSocket::IPv6Protocol) {
   208         memset(sockAddrIPv6, 0, sizeof(qt_sockaddr_in6));
   208         memset(sockAddrIPv6, 0, sizeof(qt_sockaddr_in6));
   209         sockAddrIPv6->sin6_family = AF_INET6;
   209         sockAddrIPv6->sin6_family = AF_INET6;
       
   210         sockAddrIPv6->sin6_scope_id = address.scopeId().toInt();
   210         WSAHtons(socketDescriptor, port, &(sockAddrIPv6->sin6_port));
   211         WSAHtons(socketDescriptor, port, &(sockAddrIPv6->sin6_port));
   211         Q_IPV6ADDR tmp = address.toIPv6Address();
   212         Q_IPV6ADDR tmp = address.toIPv6Address();
   212         memcpy(&(sockAddrIPv6->sin6_addr.qt_s6_addr), &tmp, sizeof(tmp));
   213         memcpy(&(sockAddrIPv6->sin6_addr.qt_s6_addr), &tmp, sizeof(tmp));
   213         *sockAddrSize = sizeof(qt_sockaddr_in6);
   214         *sockAddrSize = sizeof(qt_sockaddr_in6);
   214         *sockAddrPtr = (struct sockaddr *) sockAddrIPv6;
   215         *sockAddrPtr = (struct sockaddr *) sockAddrIPv6;