| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/strings/string_util.h" | 5 #include "base/strings/string_util.h" |
| 6 | 6 |
| 7 #include <ctype.h> | 7 #include <ctype.h> |
| 8 #include <errno.h> | 8 #include <errno.h> |
| 9 #include <math.h> | 9 #include <math.h> |
| 10 #include <stdarg.h> | 10 #include <stdarg.h> |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 bool case_sensitive) { | 496 bool case_sensitive) { |
| 497 if (case_sensitive) { | 497 if (case_sensitive) { |
| 498 return str.compare(0, search.length(), search) == 0; | 498 return str.compare(0, search.length(), search) == 0; |
| 499 } | 499 } |
| 500 if (search.size() > str.size()) | 500 if (search.size() > str.size()) |
| 501 return false; | 501 return false; |
| 502 return std::equal(search.begin(), search.end(), str.begin(), | 502 return std::equal(search.begin(), search.end(), str.begin(), |
| 503 CaseInsensitiveCompare<char16>()); | 503 CaseInsensitiveCompare<char16>()); |
| 504 } | 504 } |
| 505 | 505 |
| 506 } // namespace base | |
| 507 | |
| 508 template <typename STR> | 506 template <typename STR> |
| 509 bool EndsWithT(const STR& str, const STR& search, bool case_sensitive) { | 507 bool EndsWithT(const STR& str, const STR& search, bool case_sensitive) { |
| 510 size_t str_length = str.length(); | 508 size_t str_length = str.length(); |
| 511 size_t search_length = search.length(); | 509 size_t search_length = search.length(); |
| 512 if (search_length > str_length) | 510 if (search_length > str_length) |
| 513 return false; | 511 return false; |
| 514 if (case_sensitive) | 512 if (case_sensitive) |
| 515 return str.compare(str_length - search_length, search_length, search) == 0; | 513 return str.compare(str_length - search_length, search_length, search) == 0; |
| 516 return std::equal(search.begin(), search.end(), | 514 return std::equal(search.begin(), search.end(), |
| 517 str.begin() + (str_length - search_length), | 515 str.begin() + (str_length - search_length), |
| 518 base::CaseInsensitiveCompare<typename STR::value_type>()); | 516 base::CaseInsensitiveCompare<typename STR::value_type>()); |
| 519 } | 517 } |
| 520 | 518 |
| 521 bool EndsWith(const std::string& str, const std::string& search, | 519 bool EndsWith(const std::string& str, const std::string& search, |
| 522 bool case_sensitive) { | 520 bool case_sensitive) { |
| 523 return EndsWithT(str, search, case_sensitive); | 521 return EndsWithT(str, search, case_sensitive); |
| 524 } | 522 } |
| 525 | 523 |
| 526 bool EndsWith(const string16& str, const string16& search, | 524 bool EndsWith(const string16& str, const string16& search, |
| 527 bool case_sensitive) { | 525 bool case_sensitive) { |
| 528 return EndsWithT(str, search, case_sensitive); | 526 return EndsWithT(str, search, case_sensitive); |
| 529 } | 527 } |
| 530 | 528 |
| 529 } // namespace base |
| 530 |
| 531 static const char* const kByteStringsUnlocalized[] = { | 531 static const char* const kByteStringsUnlocalized[] = { |
| 532 " B", | 532 " B", |
| 533 " kB", | 533 " kB", |
| 534 " MB", | 534 " MB", |
| 535 " GB", | 535 " GB", |
| 536 " TB", | 536 " TB", |
| 537 " PB" | 537 " PB" |
| 538 }; | 538 }; |
| 539 | 539 |
| 540 string16 FormatBytesUnlocalized(int64 bytes) { | 540 string16 FormatBytesUnlocalized(int64 bytes) { |
| (...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 } | 1032 } |
| 1033 | 1033 |
| 1034 } // namespace | 1034 } // namespace |
| 1035 | 1035 |
| 1036 size_t base::strlcpy(char* dst, const char* src, size_t dst_size) { | 1036 size_t base::strlcpy(char* dst, const char* src, size_t dst_size) { |
| 1037 return lcpyT<char>(dst, src, dst_size); | 1037 return lcpyT<char>(dst, src, dst_size); |
| 1038 } | 1038 } |
| 1039 size_t base::wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size) { | 1039 size_t base::wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size) { |
| 1040 return lcpyT<wchar_t>(dst, src, dst_size); | 1040 return lcpyT<wchar_t>(dst, src, dst_size); |
| 1041 } | 1041 } |
| OLD | NEW |