Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(364)

Side by Side Diff: net/ftp/ftp_util.cc

Issue 11418296: FTP: misc fixes resulting from my testing. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixes Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/ftp/ftp_directory_listing_parser_vms.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/ftp/ftp_util.h" 5 #include "net/ftp/ftp_util.h"
6 6
7 #include <map> 7 #include <map>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/i18n/case_conversion.h" 10 #include "base/i18n/case_conversion.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 return AbbreviatedMonthsMap::GetInstance()->GetMonthNumber(text, number); 196 return AbbreviatedMonthsMap::GetInstance()->GetMonthNumber(text, number);
197 } 197 }
198 198
199 // static 199 // static
200 bool FtpUtil::LsDateListingToTime(const string16& month, const string16& day, 200 bool FtpUtil::LsDateListingToTime(const string16& month, const string16& day,
201 const string16& rest, 201 const string16& rest,
202 const base::Time& current_time, 202 const base::Time& current_time,
203 base::Time* result) { 203 base::Time* result) {
204 base::Time::Exploded time_exploded = { 0 }; 204 base::Time::Exploded time_exploded = { 0 };
205 205
206 if (!AbbreviatedMonthToNumber(month, &time_exploded.month)) 206 if (!AbbreviatedMonthToNumber(month, &time_exploded.month)) {
207 return false; 207 // Work around garbage sent by some servers in the same column
208 // as the month. Take just last 3 characters of the string.
209 if (month.length() < 3 ||
210 !AbbreviatedMonthToNumber(month.substr(month.length() - 3),
211 &time_exploded.month)) {
212 return false;
213 }
214 }
208 215
209 if (!base::StringToInt(day, &time_exploded.day_of_month)) 216 if (!base::StringToInt(day, &time_exploded.day_of_month))
210 return false; 217 return false;
211 if (time_exploded.day_of_month > 31) 218 if (time_exploded.day_of_month > 31)
212 return false; 219 return false;
213 220
214 if (!base::StringToInt(rest, &time_exploded.year)) { 221 if (!base::StringToInt(rest, &time_exploded.year)) {
215 // Maybe it's time. Does it look like time (HH:MM)? 222 // Maybe it's time. Does it look like time (HH:MM)?
216 if (rest.length() == 5 && rest[2] == ':') { 223 if (rest.length() == 5 && rest[2] == ':') {
217 if (!base::StringToInt(StringPiece16(rest.begin(), rest.begin() + 2), 224 if (!base::StringToInt(StringPiece16(rest.begin(), rest.begin() + 2),
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 while (!iter.end() && !u_isspace(iter.get())) 340 while (!iter.end() && !u_isspace(iter.get()))
334 iter.Advance(); 341 iter.Advance();
335 } 342 }
336 343
337 string16 result(text.substr(iter.array_pos())); 344 string16 result(text.substr(iter.array_pos()));
338 TrimWhitespace(result, TRIM_ALL, &result); 345 TrimWhitespace(result, TRIM_ALL, &result);
339 return result; 346 return result;
340 } 347 }
341 348
342 } // namespace 349 } // namespace
OLDNEW
« no previous file with comments | « net/ftp/ftp_directory_listing_parser_vms.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698