diff options
Diffstat (limited to 'passes/cmds')
-rw-r--r-- | passes/cmds/select.cc | 4 | ||||
-rw-r--r-- | passes/cmds/show.cc | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/passes/cmds/select.cc b/passes/cmds/select.cc index 3c3087a95..137f8618a 100644 --- a/passes/cmds/select.cc +++ b/passes/cmds/select.cc @@ -48,7 +48,9 @@ static bool match_ids(RTLIL::IdString id, std::string pattern) static bool match_attr_val(const RTLIL::Const &value, std::string pattern) { - if (!fnmatch(pattern.c_str(), value.str.c_str(), FNM_NOESCAPE)) + if ((value.flags & RTLIL::CONST_FLAG_STRING) == 0) + return false; + if (!fnmatch(pattern.c_str(), value.decode_string().c_str(), FNM_NOESCAPE)) return true; return false; } diff --git a/passes/cmds/show.cc b/passes/cmds/show.cc index fc3575c62..6c0df75e1 100644 --- a/passes/cmds/show.cc +++ b/passes/cmds/show.cc @@ -400,7 +400,7 @@ struct ShowWorker std::string proc_src = RTLIL::unescape_id(proc->name); if (proc->attributes.count("\\src") > 0) - proc_src = proc->attributes.at("\\src").str; + proc_src = proc->attributes.at("\\src").decode_string(); fprintf(f, "p%d [shape=box, style=rounded, label=\"PROC %s\\n%s\"];\n", pidx, escape(proc->name, true), proc_src.c_str()); } |