summaryrefslogtreecommitdiffstats
path: root/net/ftp/ftp_util.cc
diff options
context:
space:
mode:
authortedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-19 16:10:55 +0000
committertedvessenes@gmail.com <tedvessenes@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-19 16:10:55 +0000
commiteb72b27ac26621b2f1819fa318761a035689482d (patch)
tree3df45496be7931641279e35aa691ceb21ef36fa4 /net/ftp/ftp_util.cc
parentcdd47ee7d8b8d2ef57b36cd6e50215320cef7963 (diff)
downloadchromium_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/ftp_util.cc')
-rw-r--r--net/ftp/ftp_util.cc27
1 files changed, 15 insertions, 12 deletions
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;
}