Chromium Code Reviews| Index: net/base/ip_address_number.cc |
| diff --git a/net/base/ip_address_number.cc b/net/base/ip_address_number.cc |
| index 06fc3ac29fba3925ff3ebeea7ff01c32e7848208..61af0679529f7cfbb1a69488c74252978ce6ca5d 100644 |
| --- a/net/base/ip_address_number.cc |
| +++ b/net/base/ip_address_number.cc |
| @@ -156,13 +156,15 @@ bool ParseURLHostnameToNumber(const std::string& hostname, |
| return family == url::CanonHostInfo::IPV4; |
| } |
| -bool ParseIPLiteralToNumber(const std::string& ip_literal, |
| +bool ParseIPLiteralToNumber(const base::StringPiece& ip_literal, |
| IPAddressNumber* ip_number) { |
| // |ip_literal| could be either a IPv4 or an IPv6 literal. If it contains |
| // a colon however, it must be an IPv6 address. |
| - if (ip_literal.find(':') != std::string::npos) { |
| + if (ip_literal.find(':') != base::StringPiece::npos) { |
| // GURL expects IPv6 hostnames to be surrounded with brackets. |
| - std::string host_brackets = "[" + ip_literal + "]"; |
| + std::string host_brackets = "["; |
|
Ryan Sleevi
2015/07/06 08:52:01
EXTREME PEDANTRY NIT: Slight performance pedantry
brettw
2015/07/06 16:52:34
I find the suggested form less clear, personally,
|
| + ip_literal.AppendToString(&host_brackets); |
| + host_brackets.push_back(']'); |
| url::Component host_comp(0, host_brackets.size()); |
| // Try parsing the hostname as an IPv6 literal. |
| @@ -222,8 +224,8 @@ bool ParseCIDRBlock(const std::string& cidr_literal, |
| // <IPv4-literal> "/" <number of bits> |
| // <IPv6-literal> "/" <number of bits> |
| - std::vector<std::string> parts; |
| - base::SplitString(cidr_literal, '/', &parts); |
| + std::vector<base::StringPiece> parts = base::SplitStringPiece( |
| + cidr_literal, "/", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
| if (parts.size() != 2) |
| return false; |