diff options
Diffstat (limited to 'Swiften/Base/URL.cpp')
| -rw-r--r-- | Swiften/Base/URL.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Swiften/Base/URL.cpp b/Swiften/Base/URL.cpp index 3bc97ba..5c0f0d7 100644 --- a/Swiften/Base/URL.cpp +++ b/Swiften/Base/URL.cpp | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010-2016 Isode Limited. | 2 | * Copyright (c) 2010-2018 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | namespace Swift { | 12 | namespace Swift { |
| 13 | 13 | ||
| 14 | int URL::getPortOrDefaultPort(const URL& url) { | 14 | unsigned short URL::getPortOrDefaultPort(const URL& url) { |
| 15 | if (url.getPort()) { | 15 | if (url.getPort()) { |
| 16 | return *url.getPort(); | 16 | return *url.getPort(); |
| 17 | } | 17 | } |
| @@ -62,7 +62,7 @@ URL URL::fromString(const std::string& urlString) { | |||
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | std::string host; | 64 | std::string host; |
| 65 | boost::optional<int> port; | 65 | boost::optional<unsigned short> port; |
| 66 | if (hostAndPort[0] == '[') { | 66 | if (hostAndPort[0] == '[') { |
| 67 | // handle IPv6 address literals | 67 | // handle IPv6 address literals |
| 68 | size_t addressEndIndex = hostAndPort.find(']'); | 68 | size_t addressEndIndex = hostAndPort.find(']'); |
| @@ -71,9 +71,9 @@ URL URL::fromString(const std::string& urlString) { | |||
| 71 | colonIndex = hostAndPort.find(':', addressEndIndex); | 71 | colonIndex = hostAndPort.find(':', addressEndIndex); |
| 72 | if (colonIndex != std::string::npos) { | 72 | if (colonIndex != std::string::npos) { |
| 73 | try { | 73 | try { |
| 74 | port = boost::lexical_cast<int>(hostAndPort.substr(colonIndex + 1)); | 74 | port = boost::numeric_cast<unsigned short>(boost::lexical_cast<int>(hostAndPort.substr(colonIndex + 1))); |
| 75 | } | 75 | } |
| 76 | catch (const boost::bad_lexical_cast&) { | 76 | catch (...) { |
| 77 | return URL(); | 77 | return URL(); |
| 78 | } | 78 | } |
| 79 | } | 79 | } |
| @@ -87,7 +87,7 @@ URL URL::fromString(const std::string& urlString) { | |||
| 87 | if (colonIndex != std::string::npos) { | 87 | if (colonIndex != std::string::npos) { |
| 88 | host = unescape(hostAndPort.substr(0, colonIndex)); | 88 | host = unescape(hostAndPort.substr(0, colonIndex)); |
| 89 | try { | 89 | try { |
| 90 | port = boost::lexical_cast<int>(hostAndPort.substr(colonIndex + 1)); | 90 | port = boost::numeric_cast<unsigned short>(boost::lexical_cast<int>(hostAndPort.substr(colonIndex + 1))); |
| 91 | } | 91 | } |
| 92 | catch (const boost::bad_lexical_cast&) { | 92 | catch (const boost::bad_lexical_cast&) { |
| 93 | return URL(); | 93 | return URL(); |
Swift