aboutsummaryrefslogtreecommitdiffstats
path: root/backends/cxxrtl/cxxrtl_vcd.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/cxxrtl/cxxrtl_vcd.h')
-rw-r--r--backends/cxxrtl/cxxrtl_vcd.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/backends/cxxrtl/cxxrtl_vcd.h b/backends/cxxrtl/cxxrtl_vcd.h
index 5f5f612b5..f6b78bbf7 100644
--- a/backends/cxxrtl/cxxrtl_vcd.h
+++ b/backends/cxxrtl/cxxrtl_vcd.h
@@ -136,14 +136,14 @@ class vcd_writer {
std::vector<std::string> hierarchy;
size_t prev = 0;
while (true) {
- size_t curr = hier_name.find_first_of(' ', prev + 1);
- if (curr > hier_name.size())
- curr = hier_name.size();
- if (curr > prev + 1)
- hierarchy.push_back(hier_name.substr(prev, curr - prev));
- if (curr == hier_name.size())
+ size_t curr = hier_name.find_first_of(' ', prev);
+ if (curr == std::string::npos) {
+ hierarchy.push_back(hier_name.substr(prev));
break;
- prev = curr + 1;
+ } else {
+ hierarchy.push_back(hier_name.substr(prev, curr - prev));
+ prev = curr + 1;
+ }
}
return hierarchy;
}