summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp5
-rw-r--r--src/network/socket/qnativesocketengine_winrt.cpp2
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