diff options
| author | Edwin Mons <edwin.mons@isode.com> | 2018-10-29 16:28:14 (GMT) |
|---|---|---|
| committer | Edwin Mons <edwin.mons@isode.com> | 2018-11-08 11:31:20 (GMT) |
| commit | cf3d517763a3d74a2ec9fd6f7bdee8cbaee3550f (patch) | |
| tree | 69e11e13ff2e5127d2cbfcc164be761cf104a1b2 /Swiften/Network/WindowsProxyProvider.cpp | |
| parent | 5ce9e19ef0744f530a797c30a82e9723eb7ea306 (diff) | |
| download | swift-cf3d517763a3d74a2ec9fd6f7bdee8cbaee3550f.zip swift-cf3d517763a3d74a2ec9fd6f7bdee8cbaee3550f.tar.bz2 | |
Consistently use unsigned short for network ports
Network ports are now consistently stored as unsigned shorts, apart from
the options and user interface, where -1 is still used to denote the use
of default ports.
Test-Information:
Unit tests pass on macOS 10.13 and Debian 9
On macOS: tested the UI with various proxy and manual ports, behaviour
as expected.
Change-Id: I7a65f40083022887aa30ed7b21eadc56d0c52be1
Diffstat (limited to 'Swiften/Network/WindowsProxyProvider.cpp')
| -rw-r--r-- | Swiften/Network/WindowsProxyProvider.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Swiften/Network/WindowsProxyProvider.cpp b/Swiften/Network/WindowsProxyProvider.cpp index 78bd72f..9a60bb4 100644 --- a/Swiften/Network/WindowsProxyProvider.cpp +++ b/Swiften/Network/WindowsProxyProvider.cpp | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <stdlib.h> | 17 | #include <stdlib.h> |
| 18 | 18 | ||
| 19 | #include <boost/lexical_cast.hpp> | 19 | #include <boost/lexical_cast.hpp> |
| 20 | #include <boost/numeric/conversion/cast.hpp> | ||
| 20 | 21 | ||
| 21 | #include <windows.h> | 22 | #include <windows.h> |
| 22 | 23 | ||
| @@ -77,11 +78,11 @@ HostAddressPort WindowsProxyProvider::getAsHostAddressPort(std::string proxy) { | |||
| 77 | 78 | ||
| 78 | try { | 79 | try { |
| 79 | std::pair<std::string, std::string> tmp; | 80 | std::pair<std::string, std::string> tmp; |
| 80 | int port = 0; | 81 | unsigned short port = 0; |
| 81 | tmp = String::getSplittedAtFirst(proxy, ':'); | 82 | tmp = String::getSplittedAtFirst(proxy, ':'); |
| 82 | // .c_str() is needed as tmp.second can include a \0 char which will end in an exception of the lexical cast. | 83 | // .c_str() is needed as tmp.second can include a \0 char which will end in an exception of the lexical cast. |
| 83 | // with .c_str() the \0 will not be part of the string which is to be casted | 84 | // with .c_str() the \0 will not be part of the string which is to be casted |
| 84 | port = boost::lexical_cast<int> (tmp.second.c_str()); | 85 | port = boost::numeric_cast<unsigned short>(boost::lexical_cast<int> (tmp.second.c_str())); |
| 85 | ret = HostAddressPort(HostAddress::fromString(tmp.first).get(), port); | 86 | ret = HostAddressPort(HostAddress::fromString(tmp.first).get(), port); |
| 86 | } | 87 | } |
| 87 | catch(...) { | 88 | catch(...) { |
Swift