diff options
author | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-18 17:16:27 +0000 |
---|---|---|
committer | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-18 17:16:27 +0000 |
commit | ce87e24351c86bc40b32dca51fe2ebbabc603b1a (patch) | |
tree | 8184c32b18bbda29760be2e1678ad4a6fd7fd539 /net/http/http_response_headers.cc | |
parent | 71fdf77a393f95290a872bb3916f21c0bf2b4dbc (diff) | |
download | chromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.zip chromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.tar.gz chromium_src-ce87e24351c86bc40b32dca51fe2ebbabc603b1a.tar.bz2 |
Standardize StringToInt{,64} interface.
These changes address issue #106655. All variants of StringToInt have been
converted to use the StringPiece class. One instance of conversion, in
chrome/browser/history/text_database.cc, required copying an underlying
string. This is because the string type in question could use 8 or 16
bit characters depending on the OS type, and because StringPiece is not
implemented as a template, the code cannot specify whether to create a
StringPiece or StringPiece16. This should be remedied in a future CL.
R=erikwright@chromium.org
BUG=106655
TEST=
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114929
Review URL: http://codereview.chromium.org/8921006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114944 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_response_headers.cc')
-rw-r--r-- | net/http/http_response_headers.cc | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/net/http/http_response_headers.cc b/net/http/http_response_headers.cc index f249db8..98bd052 100644 --- a/net/http/http_response_headers.cc +++ b/net/http/http_response_headers.cc @@ -15,11 +15,13 @@ #include "base/metrics/histogram.h" #include "base/pickle.h" #include "base/string_number_conversions.h" +#include "base/string_piece.h" #include "base/string_util.h" #include "base/time.h" #include "net/base/escape.h" #include "net/http/http_util.h" +using base::StringPiece; using base::Time; using base::TimeDelta; @@ -698,7 +700,7 @@ void HttpResponseHeaders::ParseStatusLine( raw_headers_.push_back(' '); raw_headers_.append(code, p); raw_headers_.push_back(' '); - base::StringToInt(code, p, &response_code_); + base::StringToInt(StringPiece(code, p), &response_code_); // Skip whitespace. while (*p == ' ') @@ -1071,8 +1073,8 @@ bool HttpResponseHeaders::GetMaxAgeValue(TimeDelta* result) const { value.begin() + kMaxAgePrefixLen, kMaxAgePrefix)) { int64 seconds; - base::StringToInt64(value.begin() + kMaxAgePrefixLen, - value.end(), + base::StringToInt64(StringPiece(value.begin() + kMaxAgePrefixLen, + value.end()), &seconds); *result = TimeDelta::FromSeconds(seconds); return true; @@ -1250,8 +1252,8 @@ bool HttpResponseHeaders::GetContentRange(int64* first_byte_position, byte_range_resp_spec.begin() + minus_position; HttpUtil::TrimLWS(&first_byte_pos_begin, &first_byte_pos_end); - bool ok = base::StringToInt64(first_byte_pos_begin, - first_byte_pos_end, + bool ok = base::StringToInt64(StringPiece(first_byte_pos_begin, + first_byte_pos_end), first_byte_position); // Obtain last-byte-pos. @@ -1261,8 +1263,8 @@ bool HttpResponseHeaders::GetContentRange(int64* first_byte_position, byte_range_resp_spec.end(); HttpUtil::TrimLWS(&last_byte_pos_begin, &last_byte_pos_end); - ok &= base::StringToInt64(last_byte_pos_begin, - last_byte_pos_end, + ok &= base::StringToInt64(StringPiece(last_byte_pos_begin, + last_byte_pos_end), last_byte_position); if (!ok) { *first_byte_position = *last_byte_position = -1; @@ -1286,8 +1288,8 @@ bool HttpResponseHeaders::GetContentRange(int64* first_byte_position, if (LowerCaseEqualsASCII(instance_length_begin, instance_length_end, "*")) { return false; - } else if (!base::StringToInt64(instance_length_begin, - instance_length_end, + } else if (!base::StringToInt64(StringPiece(instance_length_begin, + instance_length_end), instance_length)) { *instance_length = -1; return false; |