mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #2130 from whitequark/cxxrtl-fix-split_by
cxxrtl: fix two buggy split_by functions
This commit is contained in:
commit
3dc32490e0
|
@ -474,14 +474,16 @@ std::vector<std::string> split_by(const std::string &str, const std::string &sep
|
||||||
std::vector<std::string> result;
|
std::vector<std::string> result;
|
||||||
size_t prev = 0;
|
size_t prev = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
size_t curr = str.find_first_of(sep, prev + 1);
|
size_t curr = str.find_first_of(sep, prev);
|
||||||
if (curr > str.size())
|
if (curr == std::string::npos) {
|
||||||
curr = str.size();
|
std::string part = str.substr(prev);
|
||||||
if (curr > prev + 1)
|
if (!part.empty()) result.push_back(part);
|
||||||
result.push_back(str.substr(prev, curr - prev));
|
|
||||||
if (curr == str.size())
|
|
||||||
break;
|
break;
|
||||||
prev = curr;
|
} else {
|
||||||
|
std::string part = str.substr(prev, curr - prev);
|
||||||
|
if (!part.empty()) result.push_back(part);
|
||||||
|
prev = curr + 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,15 +136,15 @@ class vcd_writer {
|
||||||
std::vector<std::string> hierarchy;
|
std::vector<std::string> hierarchy;
|
||||||
size_t prev = 0;
|
size_t prev = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
size_t curr = hier_name.find_first_of(' ', prev + 1);
|
size_t curr = hier_name.find_first_of(' ', prev);
|
||||||
if (curr > hier_name.size())
|
if (curr == std::string::npos) {
|
||||||
curr = hier_name.size();
|
hierarchy.push_back(hier_name.substr(prev));
|
||||||
if (curr > prev + 1)
|
|
||||||
hierarchy.push_back(hier_name.substr(prev, curr - prev));
|
|
||||||
if (curr == hier_name.size())
|
|
||||||
break;
|
break;
|
||||||
|
} else {
|
||||||
|
hierarchy.push_back(hier_name.substr(prev, curr - prev));
|
||||||
prev = curr + 1;
|
prev = curr + 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return hierarchy;
|
return hierarchy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue