diff options
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