diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 0103cabfb..9e3219740 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -807,8 +807,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) { @@ -818,10 +817,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 {