summaryrefslogtreecommitdiffstats
path: root/src/network/socket/qsymbiansocketengine.cpp
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2011-01-25 13:30:58 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2011-01-25 14:12:58 (GMT)
commitb36097693f9be745e8da550ea872fd1cda8d7d3a (patch)
tree4caaed24db7e35d537b612cd5a62bd3b7688486f /src/network/socket/qsymbiansocketengine.cpp
parent00553adc2ab5c38f1870b036d4bec881acb77511 (diff)
downloadQt-b36097693f9be745e8da550ea872fd1cda8d7d3a.zip
Qt-b36097693f9be745e8da550ea872fd1cda8d7d3a.tar.gz
Qt-b36097693f9be745e8da550ea872fd1cda8d7d3a.tar.bz2
Handle KErrBadName when connecting to broadcast address
Symbian uses KErrBadName to indicate a badly formed socket address. It also returns this error if the address is invalid for the attempted operation, for example calling connect() with a broadcast address. Now handle this error explicitly rather than returning unknown error. Reviewed-by: Markus Goetz
Diffstat (limited to 'src/network/socket/qsymbiansocketengine.cpp')
-rw-r--r--src/network/socket/qsymbiansocketengine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/network/socket/qsymbiansocketengine.cpp b/src/network/socket/qsymbiansocketengine.cpp
index 487f45c..8ded9ac 100644
--- a/src/network/socket/qsymbiansocketengine.cpp
+++ b/src/network/socket/qsymbiansocketengine.cpp
@@ -626,6 +626,10 @@ bool QSymbianSocketEngine::connectToHost(const QHostAddress &addr, quint16 port)
d->setError(QAbstractSocket::SocketAccessError, d->AccessErrorString);
d->socketState = QAbstractSocket::UnconnectedState;
break;
+ case KErrBadName:
+ d->setError(QAbstractSocket::NetworkError, d->InvalidAddressError);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ break;
case KErrNotSupported:
case KErrBadDescriptor:
default:
@@ -1306,6 +1310,9 @@ void QSymbianSocketEnginePrivate::setError(QAbstractSocket::SocketError error, E
case InvalidProxyTypeString:
socketErrorString = QSymbianSocketEngine::tr("The proxy type is invalid for this operation");
break;
+ case InvalidAddressError:
+ socketErrorString = QSymbianSocketEngine::tr("The address is invalid for this operation");
+ break;
case UnknownSocketErrorString:
socketErrorString = QSymbianSocketEngine::tr("Unknown error");
break;