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 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 const char* b) { | 447 const char* b) { |
448 return DoLowerCaseEqualsASCII(a_begin, a_end, b); | 448 return DoLowerCaseEqualsASCII(a_begin, a_end, b); |
449 } | 449 } |
450 | 450 |
451 bool LowerCaseEqualsASCII(string16::const_iterator a_begin, | 451 bool LowerCaseEqualsASCII(string16::const_iterator a_begin, |
452 string16::const_iterator a_end, | 452 string16::const_iterator a_end, |
453 const char* b) { | 453 const char* b) { |
454 return DoLowerCaseEqualsASCII(a_begin, a_end, b); | 454 return DoLowerCaseEqualsASCII(a_begin, a_end, b); |
455 } | 455 } |
456 | 456 |
457 // TODO(port): Resolve wchar_t/iterator issues that require OS_ANDROID here. | 457 // TODO(jdduke): Remove guards after complete adoption of libc++ on Android. |
458 #if !defined(OS_ANDROID) | 458 #if !defined(OS_ANDROID) || !defined(USE_STLPORT) |
459 bool LowerCaseEqualsASCII(const char* a_begin, | 459 bool LowerCaseEqualsASCII(const char* a_begin, |
460 const char* a_end, | 460 const char* a_end, |
461 const char* b) { | 461 const char* b) { |
462 return DoLowerCaseEqualsASCII(a_begin, a_end, b); | 462 return DoLowerCaseEqualsASCII(a_begin, a_end, b); |
463 } | 463 } |
464 | 464 |
465 bool LowerCaseEqualsASCII(const char16* a_begin, | 465 bool LowerCaseEqualsASCII(const char16* a_begin, |
466 const char16* a_end, | 466 const char16* a_end, |
467 const char* b) { | 467 const char* b) { |
468 return DoLowerCaseEqualsASCII(a_begin, a_end, b); | 468 return DoLowerCaseEqualsASCII(a_begin, a_end, b); |
469 } | 469 } |
470 | 470 #endif // !defined(OS_ANDROID) || !defined(USE_STLPORT) |
471 #endif // !defined(OS_ANDROID) | |
472 | 471 |
473 bool EqualsASCII(const string16& a, const base::StringPiece& b) { | 472 bool EqualsASCII(const string16& a, const base::StringPiece& b) { |
474 if (a.length() != b.length()) | 473 if (a.length() != b.length()) |
475 return false; | 474 return false; |
476 return std::equal(b.begin(), b.end(), a.begin()); | 475 return std::equal(b.begin(), b.end(), a.begin()); |
477 } | 476 } |
478 | 477 |
479 bool StartsWithASCII(const std::string& str, | 478 bool StartsWithASCII(const std::string& str, |
480 const std::string& search, | 479 const std::string& search, |
481 bool case_sensitive) { | 480 bool case_sensitive) { |
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
949 } | 948 } |
950 | 949 |
951 } // namespace | 950 } // namespace |
952 | 951 |
953 size_t base::strlcpy(char* dst, const char* src, size_t dst_size) { | 952 size_t base::strlcpy(char* dst, const char* src, size_t dst_size) { |
954 return lcpyT<char>(dst, src, dst_size); | 953 return lcpyT<char>(dst, src, dst_size); |
955 } | 954 } |
956 size_t base::wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size) { | 955 size_t base::wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size) { |
957 return lcpyT<wchar_t>(dst, src, dst_size); | 956 return lcpyT<wchar_t>(dst, src, dst_size); |
958 } | 957 } |
OLD | NEW |