Trim spaces from network server query

Spaces  left in  the  CAT network  server  cause incorrect  servername
lookups, particularly just spaces which override the default values.

Merged from wsjtx-1.4.




git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4469 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2014-10-04 01:13:26 +00:00
parent 8d3c86c399
commit 42302834f2
2 changed files with 47 additions and 44 deletions

View File

@ -6,11 +6,13 @@
#include <QString>
std::tuple<QHostAddress, quint16>
network_server_lookup (QString const& query
network_server_lookup (QString query
, quint16 default_service_port
, QHostAddress default_host_address
, QAbstractSocket::NetworkLayerProtocol required_protocol)
{
query = query.trimmed ();
QHostAddress host_address {default_host_address};
quint16 service_port {default_service_port};
@ -31,11 +33,12 @@ network_server_lookup (QString const& query
port_colon_index = query.lastIndexOf (':');
host_name = query.left (port_colon_index);
}
host_name = host_name.trimmed ();
if (port_colon_index >= 0)
{
bool ok;
service_port = query.mid (port_colon_index + 1).toUShort (&ok);
service_port = query.mid (port_colon_index + 1).trimmed ().toUShort (&ok);
if (!ok)
{
throw std::runtime_error {"network server lookup error: invalid port"};

View File

@ -30,7 +30,7 @@ class QString;
// returned in the first member of the result tuple.
//
std::tuple<QHostAddress, quint16>
network_server_lookup (QString const& query
network_server_lookup (QString query
, quint16 default_service_port
, QHostAddress default_host_address = QHostAddress::LocalHost
, QAbstractSocket::NetworkLayerProtocol protocol = QAbstractSocket::AnyIPProtocol);