diff options
Diffstat (limited to 'src/network/socket')
-rw-r--r-- | src/network/socket/qnativesocketengine_win.cpp | 5 | ||||
-rw-r--r-- | src/network/socket/qnativesocketengine_winrt.cpp | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp index 12c5aa0023..e21bf29d4b 100644 --- a/src/network/socket/qnativesocketengine_win.cpp +++ b/src/network/socket/qnativesocketengine_win.cpp @@ -1088,11 +1088,14 @@ qint64 QNativeSocketEnginePrivate::nativeBytesAvailable() const WSABUF buf; buf.buf = &c; buf.len = sizeof(c); + DWORD bytesReceived; DWORD flags = MSG_PEEK; - if (::WSARecvFrom(socketDescriptor, &buf, 1, 0, &flags, 0,0,0,0) == SOCKET_ERROR) { + if (::WSARecvFrom(socketDescriptor, &buf, 1, &bytesReceived, &flags, 0,0,0,0) == SOCKET_ERROR) { int err = WSAGetLastError(); if (err != WSAECONNRESET && err != WSAENETRESET) return 0; + } else { + return bytesReceived; } } return nbytes; diff --git a/src/network/socket/qnativesocketengine_winrt.cpp b/src/network/socket/qnativesocketengine_winrt.cpp index 291d85844d..b7d7042923 100644 --- a/src/network/socket/qnativesocketengine_winrt.cpp +++ b/src/network/socket/qnativesocketengine_winrt.cpp @@ -535,8 +535,8 @@ QNativeSocketEngine::QNativeSocketEngine(QObject *parent) { qRegisterMetaType<WinRtDatagram>(); qRegisterMetaType<WinRTSocketEngine::ErrorString>(); -#ifndef QT_NO_SSL Q_D(QNativeSocketEngine); +#ifndef QT_NO_SSL if (parent) d->sslSocket = qobject_cast<QSslSocket *>(parent->parent()); #endif |