summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qnetworkinterface_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/kernel/qnetworkinterface_win.cpp')
-rw-r--r--src/network/kernel/qnetworkinterface_win.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/network/kernel/qnetworkinterface_win.cpp b/src/network/kernel/qnetworkinterface_win.cpp
index 150553f673..a8d56a9b11 100644
--- a/src/network/kernel/qnetworkinterface_win.cpp
+++ b/src/network/kernel/qnetworkinterface_win.cpp
@@ -74,15 +74,16 @@ static QHostAddress addressFromSockaddr(sockaddr *sa)
if (!sa)
return address;
- if (sa->sa_family == AF_INET)
- address.setAddress(htonl(((sockaddr_in *)sa)->sin_addr.s_addr));
- else if (sa->sa_family == AF_INET6) {
- address.setAddress(((sockaddr_in6 *)sa)->sin6_addr.s6_addr);
- int scope = ((sockaddr_in6 *)sa)->sin6_scope_id;
- if (scope)
- address.setScopeId(QNetworkInterfaceManager::interfaceNameFromIndex(scope));
- } else
+ if (sa->sa_family == AF_INET) {
+ address.setAddress(htonl(reinterpret_cast<const sockaddr_in *>(sa)->sin_addr.s_addr));
+ } else if (sa->sa_family == AF_INET6) {
+ auto sai6 = reinterpret_cast<const sockaddr_in6 *>(sa);
+ address.setAddress(sai6->sin6_addr.s6_addr);
+ if (sai6->sin6_scope_id)
+ address.setScopeId(QNetworkInterfaceManager::interfaceNameFromIndex(sai6->sin6_scope_id));
+ } else {
qWarning("Got unknown socket family %d", sa->sa_family);
+ }
return address;
}
@@ -121,7 +122,7 @@ static QList<QNetworkInterfacePrivate *> interfaceListing()
ULONG retval = GetAdaptersAddresses(AF_UNSPEC, flags, NULL, pAdapter, &bufSize);
if (retval == ERROR_BUFFER_OVERFLOW) {
// need more memory
- pAdapter = (IP_ADAPTER_ADDRESSES *)malloc(bufSize);
+ pAdapter = reinterpret_cast<IP_ADAPTER_ADDRESSES *>(malloc(bufSize));
if (!pAdapter)
return interfaces;
// try again
@@ -255,7 +256,7 @@ QString QHostInfo::localDomainName()
ULONG bufSize = sizeof info;
pinfo = &info;
if (GetNetworkParams(pinfo, &bufSize) == ERROR_BUFFER_OVERFLOW) {
- pinfo = (FIXED_INFO *)malloc(bufSize);
+ pinfo = reinterpret_cast<FIXED_INFO *>(malloc(bufSize));
if (!pinfo)
return QString();
// try again