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

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

Issue 1215933004: New new versions of Starts/EndsWith and SplitString in net (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@starts_with
Patch Set: Created 5 years, 5 months 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_network_transaction.cc ('k') | net/http/http_auth_cache.cc » ('j') | 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 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 return true; 289 return true;
290 } 290 }
291 291
292 // static 292 // static
293 bool FtpUtil::WindowsDateListingToTime(const base::string16& date, 293 bool FtpUtil::WindowsDateListingToTime(const base::string16& date,
294 const base::string16& time, 294 const base::string16& time,
295 base::Time* result) { 295 base::Time* result) {
296 base::Time::Exploded time_exploded = { 0 }; 296 base::Time::Exploded time_exploded = { 0 };
297 297
298 // Date should be in format MM-DD-YY[YY]. 298 // Date should be in format MM-DD-YY[YY].
299 std::vector<base::string16> date_parts; 299 std::vector<base::StringPiece16> date_parts =
300 base::SplitString(date, '-', &date_parts); 300 base::SplitStringPiece(date, base::ASCIIToUTF16("-"),
301 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
301 if (date_parts.size() != 3) 302 if (date_parts.size() != 3)
302 return false; 303 return false;
303 if (!base::StringToInt(date_parts[0], &time_exploded.month)) 304 if (!base::StringToInt(date_parts[0], &time_exploded.month))
304 return false; 305 return false;
305 if (!base::StringToInt(date_parts[1], &time_exploded.day_of_month)) 306 if (!base::StringToInt(date_parts[1], &time_exploded.day_of_month))
306 return false; 307 return false;
307 if (!base::StringToInt(date_parts[2], &time_exploded.year)) 308 if (!base::StringToInt(date_parts[2], &time_exploded.year))
308 return false; 309 return false;
309 if (time_exploded.year < 0) 310 if (time_exploded.year < 0)
310 return false; 311 return false;
311 // If year has only two digits then assume that 00-79 is 2000-2079, 312 // If year has only two digits then assume that 00-79 is 2000-2079,
312 // and 80-99 is 1980-1999. 313 // and 80-99 is 1980-1999.
313 if (time_exploded.year < 80) 314 if (time_exploded.year < 80)
314 time_exploded.year += 2000; 315 time_exploded.year += 2000;
315 else if (time_exploded.year < 100) 316 else if (time_exploded.year < 100)
316 time_exploded.year += 1900; 317 time_exploded.year += 1900;
317 318
318 // Time should be in format HH:MM[(AM|PM)] 319 // Time should be in format HH:MM[(AM|PM)]
319 if (time.length() < 5) 320 if (time.length() < 5)
320 return false; 321 return false;
321 322
322 std::vector<base::string16> time_parts; 323 std::vector<base::StringPiece16> time_parts = base::SplitStringPiece(
323 base::SplitString(time.substr(0, 5), ':', &time_parts); 324 base::StringPiece16(time).substr(0, 5), base::ASCIIToUTF16(":"),
325 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
324 if (time_parts.size() != 2) 326 if (time_parts.size() != 2)
325 return false; 327 return false;
326 if (!base::StringToInt(time_parts[0], &time_exploded.hour)) 328 if (!base::StringToInt(time_parts[0], &time_exploded.hour))
327 return false; 329 return false;
328 if (!base::StringToInt(time_parts[1], &time_exploded.minute)) 330 if (!base::StringToInt(time_parts[1], &time_exploded.minute))
329 return false; 331 return false;
330 if (!time_exploded.HasValidValues()) 332 if (!time_exploded.HasValidValues())
331 return false; 333 return false;
332 334
333 if (time.length() > 5) { 335 if (time.length() > 5) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 while (!iter.end() && !u_isspace(iter.get())) 367 while (!iter.end() && !u_isspace(iter.get()))
366 iter.Advance(); 368 iter.Advance();
367 } 369 }
368 370
369 base::string16 result(text.substr(iter.array_pos())); 371 base::string16 result(text.substr(iter.array_pos()));
370 base::TrimWhitespace(result, base::TRIM_ALL, &result); 372 base::TrimWhitespace(result, base::TRIM_ALL, &result);
371 return result; 373 return result;
372 } 374 }
373 375
374 } // namespace 376 } // namespace
OLDNEW
« no previous file with comments | « net/ftp/ftp_network_transaction.cc ('k') | net/http/http_auth_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698