diff options
author | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-19 16:10:55 +0000 |
---|---|---|
committer | tedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-19 16:10:55 +0000 |
commit | eb72b27ac26621b2f1819fa318761a035689482d (patch) | |
tree | 3df45496be7931641279e35aa691ceb21ef36fa4 /net/ftp | |
parent | cdd47ee7d8b8d2ef57b36cd6e50215320cef7963 (diff) | |
download | chromium_src-eb72b27ac26621b2f1819fa318761a035689482d.zip chromium_src-eb72b27ac26621b2f1819fa318761a035689482d.tar.gz chromium_src-eb72b27ac26621b2f1819fa318761a035689482d.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
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114944
Review URL: http://codereview.chromium.org/8921006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114993 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/ftp')
-rw-r--r-- | net/ftp/ftp_ctrl_response_buffer.cc | 10 | ||||
-rw-r--r-- | net/ftp/ftp_util.cc | 27 |
2 files changed, 21 insertions, 16 deletions
diff --git a/net/ftp/ftp_ctrl_response_buffer.cc b/net/ftp/ftp_ctrl_response_buffer.cc index 4aeef1f..670c70d 100644 --- a/net/ftp/ftp_ctrl_response_buffer.cc +++ b/net/ftp/ftp_ctrl_response_buffer.cc @@ -1,11 +1,12 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this -// source code is governed by a BSD-style license that can be found in the -// LICENSE file. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. #include "net/ftp/ftp_ctrl_response_buffer.h" #include "base/logging.h" #include "base/string_number_conversions.h" +#include "base/string_piece.h" //#include "base/string_util.h" #include "net/base/net_errors.h" @@ -91,7 +92,8 @@ FtpCtrlResponseBuffer::ParsedLine FtpCtrlResponseBuffer::ParseLine( ParsedLine result; if (line.length() >= 3) { - if (base::StringToInt(line.begin(), line.begin() + 3, &result.status_code)) + if (base::StringToInt(base::StringPiece(line.begin(), line.begin() + 3), + &result.status_code)) result.has_status_code = (100 <= result.status_code && result.status_code <= 599); if (result.has_status_code && line.length() >= 4 && line[3] == ' ') { diff --git a/net/ftp/ftp_util.cc b/net/ftp/ftp_util.cc index 553d513..f6bdf2f 100644 --- a/net/ftp/ftp_util.cc +++ b/net/ftp/ftp_util.cc @@ -12,6 +12,7 @@ #include "base/logging.h" #include "base/memory/singleton.h" #include "base/string_number_conversions.h" +#include "base/string_piece.h" #include "base/string_split.h" #include "base/string_tokenizer.h" #include "base/string_util.h" @@ -21,6 +22,8 @@ #include "unicode/dtfmtsym.h" #include "unicode/uchar.h" +using base::StringPiece16; + // For examples of Unix<->VMS path conversions, see the unit test file. On VMS // a path looks differently depending on whether it's a file or directory. @@ -211,26 +214,26 @@ bool FtpUtil::LsDateListingToTime(const string16& month, const string16& day, if (!base::StringToInt(rest, &time_exploded.year)) { // Maybe it's time. Does it look like time (HH:MM)? if (rest.length() == 5 && rest[2] == ':') { - if (!base::StringToInt(rest.begin(), - rest.begin() + 2, - &time_exploded.hour)) + if (!base::StringToInt(StringPiece16(rest.begin(), rest.begin() + 2), + &time_exploded.hour)) { return false; + } - if (!base::StringToInt(rest.begin() + 3, - rest.begin() + 5, - &time_exploded.minute)) + if (!base::StringToInt(StringPiece16(rest.begin() + 3, rest.begin() + 5), + &time_exploded.minute)) { return false; + } } else if (rest.length() == 4 && rest[1] == ':') { // Sometimes it's just H:MM. - if (!base::StringToInt(rest.begin(), - rest.begin() + 1, - &time_exploded.hour)) + if (!base::StringToInt(StringPiece16(rest.begin(), rest.begin() + 1), + &time_exploded.hour)) { return false; + } - if (!base::StringToInt(rest.begin() + 2, - rest.begin() + 4, - &time_exploded.minute)) + if (!base::StringToInt(StringPiece16(rest.begin() + 2, rest.begin() + 4), + &time_exploded.minute)) { return false; + } } else { return false; } |