diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index aa4743a87..2045d4f95 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -606,8 +606,7 @@ std::string RTLIL::Const::decode_string() const ch |= 1 << j; } } - if (ch != 0) - s.append({ch}); + s.append({ch}); } i -= 8; for (; i >= 0; i -= 8) { @@ -617,10 +616,12 @@ std::string RTLIL::Const::decode_string() const ch |= 1 << j; } } - if (ch != 0) - s.append({ch}); + s.append({ch}); } - return s; + auto first_char = s.find_first_not_of('\0'); + if (first_char != std::string::npos) + return s.substr(first_char); + else return s; } int RTLIL::Const::size() const {