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

Side by Side Diff: third_party/crashpad/crashpad/util/string/split_string.cc

Issue 2478633002: Update Crashpad to b47bf6c250c6b825dee1c5fbad9152c2c962e828 (Closed)
Patch Set: mac comment 2 Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Crashpad Authors. All rights reserved. 1 // Copyright 2015 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and 12 // See the License for the specific language governing permissions and
13 // limitations under the License. 13 // limitations under the License.
14 14
15 #include "util/string/split_string.h" 15 #include "util/string/split_string.h"
16 16
17 #include <sys/types.h> 17 #include <sys/types.h>
18 18
19 namespace crashpad { 19 namespace crashpad {
20 20
21 bool SplitString(const std::string& string, 21 bool SplitStringFirst(const std::string& string,
22 char delimiter, 22 char delimiter,
23 std::string* left, 23 std::string* left,
24 std::string* right) { 24 std::string* right) {
25 size_t delimiter_pos = string.find(delimiter); 25 size_t delimiter_pos = string.find(delimiter);
26 if (delimiter_pos == 0 || delimiter_pos == std::string::npos) { 26 if (delimiter_pos == 0 || delimiter_pos == std::string::npos) {
27 return false; 27 return false;
28 } 28 }
29 29
30 left->assign(string, 0, delimiter_pos); 30 left->assign(string, 0, delimiter_pos);
31 right->assign(string, delimiter_pos + 1, std::string::npos); 31 right->assign(string, delimiter_pos + 1, std::string::npos);
32 return true; 32 return true;
33 } 33 }
34 34
35 std::vector<std::string> SplitString(const std::string& str, char delimiter) {
36 std::vector<std::string> result;
37 if (str.empty())
38 return result;
39
40 size_t start = 0;
41 while (start != std::string::npos) {
42 size_t end = str.find_first_of(delimiter, start);
43
44 std::string part;
45 if (end == std::string::npos) {
46 part = str.substr(start);
47 start = std::string::npos;
48 } else {
49 part = str.substr(start, end - start);
50 start = end + 1;
51 }
52
53 result.push_back(part);
54 }
55 return result;
56 }
57
35 } // namespace crashpad 58 } // namespace crashpad
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698