mirror of https://github.com/YosysHQ/yosys.git
Fixed log_id() memory corruption
This commit is contained in:
parent
efd9604dfb
commit
02f0acb3bc
|
@ -205,3 +205,11 @@ const char *log_signal(const RTLIL::SigSpec &sig, bool autoint)
|
|||
return string_buf.back().c_str();
|
||||
}
|
||||
|
||||
const char *log_id(std::string str)
|
||||
{
|
||||
if (str.size() > 1 && str[0] == '\\' && str[1] != '$')
|
||||
string_buf.push_back(str.substr(1));
|
||||
else
|
||||
string_buf.push_back(str);
|
||||
return string_buf.back().c_str();
|
||||
}
|
||||
|
|
|
@ -51,13 +51,10 @@ void log_reset_stack();
|
|||
void log_flush();
|
||||
|
||||
const char *log_signal(const RTLIL::SigSpec &sig, bool autoint = true);
|
||||
|
||||
static inline const char *log_id(std::string id) {
|
||||
return RTLIL::id2cstr(id);
|
||||
}
|
||||
const char *log_id(std::string id);
|
||||
|
||||
template<typename T> static inline const char *log_id(T *obj) {
|
||||
return RTLIL::id2cstr(obj->name);
|
||||
return log_id(obj->name);
|
||||
}
|
||||
|
||||
#define log_abort() log_error("Abort in %s:%d.\n", __FILE__, __LINE__)
|
||||
|
|
Loading…
Reference in New Issue