OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 } | 50 } |
51 | 51 |
52 #if defined(WEBRTC_WIN) | 52 #if defined(WEBRTC_WIN) |
53 int ascii_string_compare(const wchar_t* s1, const char* s2, size_t n, | 53 int ascii_string_compare(const wchar_t* s1, const char* s2, size_t n, |
54 CharacterTransformation transformation) { | 54 CharacterTransformation transformation) { |
55 wchar_t c1, c2; | 55 wchar_t c1, c2; |
56 while (true) { | 56 while (true) { |
57 if (n-- == 0) return 0; | 57 if (n-- == 0) return 0; |
58 c1 = transformation(*s1); | 58 c1 = transformation(*s1); |
59 // Double check that characters are not UTF-8 | 59 // Double check that characters are not UTF-8 |
60 DCHECK_LT(static_cast<unsigned char>(*s2), 128); | 60 RTC_DCHECK_LT(static_cast<unsigned char>(*s2), 128); |
61 // Note: *s2 gets implicitly promoted to wchar_t | 61 // Note: *s2 gets implicitly promoted to wchar_t |
62 c2 = transformation(*s2); | 62 c2 = transformation(*s2); |
63 if (c1 != c2) return (c1 < c2) ? -1 : 1; | 63 if (c1 != c2) return (c1 < c2) ? -1 : 1; |
64 if (!c1) return 0; | 64 if (!c1) return 0; |
65 ++s1; | 65 ++s1; |
66 ++s2; | 66 ++s2; |
67 } | 67 } |
68 } | 68 } |
69 | 69 |
70 size_t asccpyn(wchar_t* buffer, size_t buflen, | 70 size_t asccpyn(wchar_t* buffer, size_t buflen, |
71 const char* source, size_t srclen) { | 71 const char* source, size_t srclen) { |
72 if (buflen <= 0) | 72 if (buflen <= 0) |
73 return 0; | 73 return 0; |
74 | 74 |
75 if (srclen == SIZE_UNKNOWN) { | 75 if (srclen == SIZE_UNKNOWN) { |
76 srclen = strlenn(source, buflen - 1); | 76 srclen = strlenn(source, buflen - 1); |
77 } else if (srclen >= buflen) { | 77 } else if (srclen >= buflen) { |
78 srclen = buflen - 1; | 78 srclen = buflen - 1; |
79 } | 79 } |
80 #if _DEBUG | 80 #if _DEBUG |
81 // Double check that characters are not UTF-8 | 81 // Double check that characters are not UTF-8 |
82 for (size_t pos = 0; pos < srclen; ++pos) | 82 for (size_t pos = 0; pos < srclen; ++pos) |
83 DCHECK_LT(static_cast<unsigned char>(source[pos]), 128); | 83 RTC_DCHECK_LT(static_cast<unsigned char>(source[pos]), 128); |
84 #endif // _DEBUG | 84 #endif // _DEBUG |
85 std::copy(source, source + srclen, buffer); | 85 std::copy(source, source + srclen, buffer); |
86 buffer[srclen] = 0; | 86 buffer[srclen] = 0; |
87 return srclen; | 87 return srclen; |
88 } | 88 } |
89 | 89 |
90 #endif // WEBRTC_WIN | 90 #endif // WEBRTC_WIN |
91 | 91 |
92 void replace_substrs(const char *search, | 92 void replace_substrs(const char *search, |
93 size_t search_len, | 93 size_t search_len, |
(...skipping 30 matching lines...) Expand all Loading... |
124 std::string::size_type last = s.find_last_not_of(kWhitespace); | 124 std::string::size_type last = s.find_last_not_of(kWhitespace); |
125 | 125 |
126 if (first == std::string::npos || last == std::string::npos) { | 126 if (first == std::string::npos || last == std::string::npos) { |
127 return std::string(""); | 127 return std::string(""); |
128 } | 128 } |
129 | 129 |
130 return s.substr(first, last - first + 1); | 130 return s.substr(first, last - first + 1); |
131 } | 131 } |
132 | 132 |
133 } // namespace rtc | 133 } // namespace rtc |
OLD | NEW |