Encode filename unprintable chars
This commit is contained in:
@@ -440,6 +440,21 @@ namespace RTLIL
|
||||
}
|
||||
};
|
||||
|
||||
static inline std::string encode_filename(const std::string &filename)
|
||||
{
|
||||
std::stringstream val;
|
||||
if (!std::any_of(filename.begin(), filename.end(), [](char c) {
|
||||
return static_cast<unsigned char>(c) < 33 || static_cast<unsigned char>(c) > 126;
|
||||
})) return filename;
|
||||
for (unsigned char const c : filename) {
|
||||
if (c < 33 || c > 126)
|
||||
val << stringf("$%02x", c);
|
||||
else
|
||||
val << c;
|
||||
}
|
||||
return val.str();
|
||||
}
|
||||
|
||||
// see calc.cc for the implementation of this functions
|
||||
RTLIL::Const const_not (const RTLIL::Const &arg1, const RTLIL::Const &arg2, bool signed1, bool signed2, int result_len);
|
||||
RTLIL::Const const_and (const RTLIL::Const &arg1, const RTLIL::Const &arg2, bool signed1, bool signed2, int result_len);
|
||||
|
||||
Reference in New Issue
Block a user