From bf7f17060773803f332e8c729a70f47b94243890 Mon Sep 17 00:00:00 2001 From: "Jonas M. Gastal" Date: Thu, 5 Jan 2012 10:38:39 -0200 Subject: Make socket descriptors qintptr. Windows x64 uses 64 bits integer for sockets, to ensure compatibility we should use ptr sized integers for our socket descriptors. Task-number: QTBUG-19004 Change-Id: I4b56023874a4f1bad107c66c054fecfedde33d88 Reviewed-by: Thiago Macieira Reviewed-by: Oswald Buddenhagen --- src/network/socket/qabstractsocket.cpp | 4 ++-- src/network/socket/qabstractsocket.h | 4 ++-- src/network/socket/qabstractsocket_p.h | 2 +- src/network/socket/qabstractsocketengine.cpp | 2 +- src/network/socket/qabstractsocketengine_p.h | 8 ++++---- src/network/socket/qhttpsocketengine.cpp | 6 +++--- src/network/socket/qhttpsocketengine_p.h | 6 +++--- src/network/socket/qnativesocketengine.cpp | 6 +++--- src/network/socket/qnativesocketengine_p.h | 6 +++--- src/network/socket/qnativesocketengine_win.cpp | 4 ++-- src/network/socket/qsocks5socketengine.cpp | 20 ++++++++++---------- src/network/socket/qsocks5socketengine_p.h | 8 ++++---- src/network/socket/qtcpserver.cpp | 6 +++--- src/network/socket/qtcpserver.h | 6 +++--- 14 files changed, 44 insertions(+), 44 deletions(-) (limited to 'src/network/socket') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 9437bbaa8c..099c01ef71 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -1723,7 +1723,7 @@ bool QAbstractSocket::canReadLine() const \sa setSocketDescriptor() */ -int QAbstractSocket::socketDescriptor() const +qintptr QAbstractSocket::socketDescriptor() const { Q_D(const QAbstractSocket); return d->cachedSocketDescriptor; @@ -1741,7 +1741,7 @@ int QAbstractSocket::socketDescriptor() const \sa socketDescriptor() */ -bool QAbstractSocket::setSocketDescriptor(int socketDescriptor, SocketState socketState, +bool QAbstractSocket::setSocketDescriptor(qintptr socketDescriptor, SocketState socketState, OpenMode openMode) { Q_D(QAbstractSocket); diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h index 3b98a32e10..44c758aa77 100644 --- a/src/network/socket/qabstractsocket.h +++ b/src/network/socket/qabstractsocket.h @@ -156,8 +156,8 @@ public: void abort(); // ### Qt 5: Make socketDescriptor() and setSocketDescriptor() virtual. - int socketDescriptor() const; - bool setSocketDescriptor(int socketDescriptor, SocketState state = ConnectedState, + qintptr socketDescriptor() const; + bool setSocketDescriptor(qintptr socketDescriptor, SocketState state = ConnectedState, OpenMode openMode = ReadWrite); // ### Qt 5: Make virtual? diff --git a/src/network/socket/qabstractsocket_p.h b/src/network/socket/qabstractsocket_p.h index 937ea53e37..49e7c82e21 100644 --- a/src/network/socket/qabstractsocket_p.h +++ b/src/network/socket/qabstractsocket_p.h @@ -118,7 +118,7 @@ public: QString peerName; QAbstractSocketEngine *socketEngine; - int cachedSocketDescriptor; + qintptr cachedSocketDescriptor; #ifndef QT_NO_NETWORKPROXY QNetworkProxy proxy; diff --git a/src/network/socket/qabstractsocketengine.cpp b/src/network/socket/qabstractsocketengine.cpp index 70b1748fcd..8c1ee88ce1 100644 --- a/src/network/socket/qabstractsocketengine.cpp +++ b/src/network/socket/qabstractsocketengine.cpp @@ -118,7 +118,7 @@ QAbstractSocketEngine *QAbstractSocketEngine::createSocketEngine(QAbstractSocket return new QNativeSocketEngine(parent); } -QAbstractSocketEngine *QAbstractSocketEngine::createSocketEngine(int socketDescripter, QObject *parent) +QAbstractSocketEngine *QAbstractSocketEngine::createSocketEngine(qintptr socketDescripter, QObject *parent) { QMutexLocker locker(&socketHandlers()->mutex); for (int i = 0; i < socketHandlers()->size(); i++) { diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h index ae7119962b..e365eb8b5e 100644 --- a/src/network/socket/qabstractsocketengine_p.h +++ b/src/network/socket/qabstractsocketengine_p.h @@ -84,7 +84,7 @@ class Q_AUTOTEST_EXPORT QAbstractSocketEngine : public QObject public: static QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, const QNetworkProxy &, QObject *parent); - static QAbstractSocketEngine *createSocketEngine(int socketDescripter, QObject *parent); + static QAbstractSocketEngine *createSocketEngine(qintptr socketDescriptor, QObject *parent); QAbstractSocketEngine(QObject *parent = 0); @@ -105,9 +105,9 @@ public: virtual bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol) = 0; - virtual bool initialize(int socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState) = 0; + virtual bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState) = 0; - virtual int socketDescriptor() const = 0; + virtual qintptr socketDescriptor() const = 0; virtual bool isValid() const = 0; @@ -225,7 +225,7 @@ protected: virtual ~QSocketEngineHandler(); virtual QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, const QNetworkProxy &, QObject *parent) = 0; - virtual QAbstractSocketEngine *createSocketEngine(int socketDescripter, QObject *parent) = 0; + virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescriptor, QObject *parent) = 0; private: friend class QAbstractSocketEngine; diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index 95e46019b0..70ae40307e 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -103,7 +103,7 @@ bool QHttpSocketEngine::initialize(QAbstractSocket::SocketType type, QAbstractSo return true; } -bool QHttpSocketEngine::initialize(int, QAbstractSocket::SocketState) +bool QHttpSocketEngine::initialize(qintptr, QAbstractSocket::SocketState) { return false; } @@ -120,7 +120,7 @@ void QHttpSocketEngine::setProxy(const QNetworkProxy &proxy) d->authenticator.setPassword(password); } -int QHttpSocketEngine::socketDescriptor() const +qintptr QHttpSocketEngine::socketDescriptor() const { Q_D(const QHttpSocketEngine); return d->socket ? d->socket->socketDescriptor() : 0; @@ -838,7 +838,7 @@ QAbstractSocketEngine *QHttpSocketEngineHandler::createSocketEngine(QAbstractSoc return engine; } -QAbstractSocketEngine *QHttpSocketEngineHandler::createSocketEngine(int, QObject *) +QAbstractSocketEngine *QHttpSocketEngineHandler::createSocketEngine(qintptr, QObject *) { return 0; } diff --git a/src/network/socket/qhttpsocketengine_p.h b/src/network/socket/qhttpsocketengine_p.h index a8484b8920..1a93956bd2 100644 --- a/src/network/socket/qhttpsocketengine_p.h +++ b/src/network/socket/qhttpsocketengine_p.h @@ -80,11 +80,11 @@ public: ~QHttpSocketEngine(); bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(int socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); void setProxy(const QNetworkProxy &networkProxy); - int socketDescriptor() const; + qintptr socketDescriptor() const; bool isValid() const; @@ -191,7 +191,7 @@ class Q_AUTOTEST_EXPORT QHttpSocketEngineHandler : public QSocketEngineHandler public: virtual QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, const QNetworkProxy &, QObject *parent); - virtual QAbstractSocketEngine *createSocketEngine(int socketDescripter, QObject *parent); + virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescripter, QObject *parent); }; #endif diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp index a63101dd23..cae2469328 100644 --- a/src/network/socket/qnativesocketengine.cpp +++ b/src/network/socket/qnativesocketengine.cpp @@ -414,7 +414,7 @@ bool QNativeSocketEngine::initialize(QAbstractSocket::SocketType socketType, QAb If the socket type is either TCP or UDP, it is made non-blocking. UDP sockets are also broadcast enabled. */ -bool QNativeSocketEngine::initialize(int socketDescriptor, QAbstractSocket::SocketState socketState) +bool QNativeSocketEngine::initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState) { Q_D(QNativeSocketEngine); @@ -471,7 +471,7 @@ bool QNativeSocketEngine::isValid() const Returns the native socket descriptor. Any use of this descriptor stands the risk of being non-portable. */ -int QNativeSocketEngine::socketDescriptor() const +qintptr QNativeSocketEngine::socketDescriptor() const { Q_D(const QNativeSocketEngine); return d->socketDescriptor; @@ -1114,7 +1114,7 @@ bool QNativeSocketEngine::isReadNotificationEnabled() const class QReadNotifier : public QSocketNotifier { public: - QReadNotifier(int fd, QNativeSocketEngine *parent) + QReadNotifier(qintptr fd, QNativeSocketEngine *parent) : QSocketNotifier(fd, QSocketNotifier::Read, parent) { engine = parent; } diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h index 68aa2e6e40..60c13c1258 100644 --- a/src/network/socket/qnativesocketengine_p.h +++ b/src/network/socket/qnativesocketengine_p.h @@ -113,9 +113,9 @@ public: ~QNativeSocketEngine(); bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(int socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); - int socketDescriptor() const; + qintptr socketDescriptor() const; bool isValid() const; @@ -199,7 +199,7 @@ public: QNativeSocketEnginePrivate(); ~QNativeSocketEnginePrivate(); - int socketDescriptor; + qintptr socketDescriptor; QSocketNotifier *readNotifier, *writeNotifier, *exceptNotifier; diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp index 5643314f17..ee15702b76 100644 --- a/src/network/socket/qnativesocketengine_win.cpp +++ b/src/network/socket/qnativesocketengine_win.cpp @@ -229,7 +229,7 @@ void QNativeSocketEnginePrivate::setPortAndAddress(sockaddr_in * sockAddrIPv4, q /*! \internal */ -static inline QAbstractSocket::SocketType qt_socket_getType(int socketDescriptor) +static inline QAbstractSocket::SocketType qt_socket_getType(qintptr socketDescriptor) { int value = 0; QT_SOCKLEN_T valueSize = sizeof(value); @@ -247,7 +247,7 @@ static inline QAbstractSocket::SocketType qt_socket_getType(int socketDescriptor /*! \internal */ -static inline int qt_socket_getMaxMsgSize(int socketDescriptor) +static inline int qt_socket_getMaxMsgSize(qintptr socketDescriptor) { int value = 0; QT_SOCKLEN_T valueSize = sizeof(value); diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index aafbdcb8bc..919bdea2e0 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -332,9 +332,9 @@ public: QSocks5BindStore(); ~QSocks5BindStore(); - void add(int socketDescriptor, QSocks5BindData *bindData); - bool contains(int socketDescriptor); - QSocks5BindData *retrieve(int socketDescriptor); + void add(qintptr socketDescriptor, QSocks5BindData *bindData); + bool contains(qintptr socketDescriptor); + QSocks5BindData *retrieve(qintptr socketDescriptor); protected: void timerEvent(QTimerEvent * event); @@ -360,7 +360,7 @@ QSocks5BindStore::~QSocks5BindStore() { } -void QSocks5BindStore::add(int socketDescriptor, QSocks5BindData *bindData) +void QSocks5BindStore::add(qintptr socketDescriptor, QSocks5BindData *bindData) { QMutexLocker lock(&mutex); if (store.contains(socketDescriptor)) { @@ -373,13 +373,13 @@ void QSocks5BindStore::add(int socketDescriptor, QSocks5BindData *bindData) sweepTimerId = startTimer(60000); } -bool QSocks5BindStore::contains(int socketDescriptor) +bool QSocks5BindStore::contains(qintptr socketDescriptor) { QMutexLocker lock(&mutex); return store.contains(socketDescriptor); } -QSocks5BindData *QSocks5BindStore::retrieve(int socketDescriptor) +QSocks5BindData *QSocks5BindStore::retrieve(qintptr socketDescriptor) { QMutexLocker lock(&mutex); if (!store.contains(socketDescriptor)) @@ -1018,7 +1018,7 @@ bool QSocks5SocketEngine::initialize(QAbstractSocket::SocketType type, QAbstract return true; } -bool QSocks5SocketEngine::initialize(int socketDescriptor, QAbstractSocket::SocketState socketState) +bool QSocks5SocketEngine::initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState) { Q_D(QSocks5SocketEngine); @@ -1080,7 +1080,7 @@ void QSocks5SocketEngine::setProxy(const QNetworkProxy &networkProxy) d->proxyInfo = networkProxy; } -int QSocks5SocketEngine::socketDescriptor() const +qintptr QSocks5SocketEngine::socketDescriptor() const { Q_D(const QSocks5SocketEngine); return d->socketDescriptor; @@ -1448,7 +1448,7 @@ int QSocks5SocketEngine::accept() d->data->controlSocket->setParent(0); d->bindData->localAddress = d->localAddress; d->bindData->localPort = d->localPort; - int sd = d->socketDescriptor; + qintptr sd = d->socketDescriptor; socks5BindStore()->add(sd, d->bindData); d->data = 0; d->bindData = 0; @@ -1917,7 +1917,7 @@ QSocks5SocketEngineHandler::createSocketEngine(QAbstractSocket::SocketType socke return engine.take(); } -QAbstractSocketEngine *QSocks5SocketEngineHandler::createSocketEngine(int socketDescriptor, QObject *parent) +QAbstractSocketEngine *QSocks5SocketEngineHandler::createSocketEngine(qintptr socketDescriptor, QObject *parent) { QSOCKS5_DEBUG << "createSocketEngine" << socketDescriptor; if (socks5BindStore()->contains(socketDescriptor)) { diff --git a/src/network/socket/qsocks5socketengine_p.h b/src/network/socket/qsocks5socketengine_p.h index bc30afbb21..386e4856a1 100644 --- a/src/network/socket/qsocks5socketengine_p.h +++ b/src/network/socket/qsocks5socketengine_p.h @@ -70,11 +70,11 @@ public: ~QSocks5SocketEngine(); bool initialize(QAbstractSocket::SocketType type, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::IPv4Protocol); - bool initialize(int socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); + bool initialize(qintptr socketDescriptor, QAbstractSocket::SocketState socketState = QAbstractSocket::ConnectedState); void setProxy(const QNetworkProxy &networkProxy); - int socketDescriptor() const; + qintptr socketDescriptor() const; bool isValid() const; @@ -261,7 +261,7 @@ public: bool readNotificationEnabled, writeNotificationEnabled, exceptNotificationEnabled; - int socketDescriptor; + qintptr socketDescriptor; QSocks5Data *data; QSocks5ConnectData *connectData; @@ -290,7 +290,7 @@ class Q_AUTOTEST_EXPORT QSocks5SocketEngineHandler : public QSocketEngineHandler public: virtual QAbstractSocketEngine *createSocketEngine(QAbstractSocket::SocketType socketType, const QNetworkProxy &, QObject *parent); - virtual QAbstractSocketEngine *createSocketEngine(int socketDescripter, QObject *parent); + virtual QAbstractSocketEngine *createSocketEngine(qintptr socketDescriptor, QObject *parent); }; diff --git a/src/network/socket/qtcpserver.cpp b/src/network/socket/qtcpserver.cpp index 7d278a8d15..857827facc 100644 --- a/src/network/socket/qtcpserver.cpp +++ b/src/network/socket/qtcpserver.cpp @@ -378,7 +378,7 @@ void QTcpServer::close() \sa setSocketDescriptor(), isListening() */ -int QTcpServer::socketDescriptor() const +qintptr QTcpServer::socketDescriptor() const { Q_D(const QTcpServer); Q_CHECK_SOCKETENGINE(-1); @@ -394,7 +394,7 @@ int QTcpServer::socketDescriptor() const \sa socketDescriptor(), isListening() */ -bool QTcpServer::setSocketDescriptor(int socketDescriptor) +bool QTcpServer::setSocketDescriptor(qintptr socketDescriptor) { Q_D(QTcpServer); if (isListening()) { @@ -566,7 +566,7 @@ QTcpSocket *QTcpServer::nextPendingConnection() \sa newConnection(), nextPendingConnection(), addPendingConnection() */ -void QTcpServer::incomingConnection(int socketDescriptor) +void QTcpServer::incomingConnection(qintptr socketDescriptor) { #if defined (QTCPSERVER_DEBUG) qDebug("QTcpServer::incomingConnection(%i)", socketDescriptor); diff --git a/src/network/socket/qtcpserver.h b/src/network/socket/qtcpserver.h index 4900ba89fe..a322294f58 100644 --- a/src/network/socket/qtcpserver.h +++ b/src/network/socket/qtcpserver.h @@ -76,8 +76,8 @@ public: quint16 serverPort() const; QHostAddress serverAddress() const; - int socketDescriptor() const; - bool setSocketDescriptor(int socketDescriptor); + qintptr socketDescriptor() const; + bool setSocketDescriptor(qintptr socketDescriptor); bool waitForNewConnection(int msec = 0, bool *timedOut = 0); virtual bool hasPendingConnections() const; @@ -92,7 +92,7 @@ public: #endif protected: - virtual void incomingConnection(int handle); + virtual void incomingConnection(qintptr handle); void addPendingConnection(QTcpSocket* socket); Q_SIGNALS: -- cgit v1.2.3