diff --git a/frontends/ast/simplify.cc b/frontends/ast/simplify.cc index 310f6fc32..1b6618cd8 100644 --- a/frontends/ast/simplify.cc +++ b/frontends/ast/simplify.cc @@ -2886,15 +2886,15 @@ AstNode *AstNode::readmem(bool is_readmemh, std::string mem_filename, AstNode *m int meminit_size=0; std::ifstream f; - std::string path = filename.substr(0, filename.find_last_of("\\/")+1); f.open(mem_filename.c_str()); if (f.fail()) { + std::string path = filename.substr(0, filename.find_last_of("\\/")+1); f.open(path + mem_filename.c_str()); yosys_input_files.insert(path + mem_filename); } else { yosys_input_files.insert(mem_filename); } - if (f.fail() || strlen(mem_filename.c_str()) == 0) + if (f.fail() || GetSize(mem_filename) == 0) log_file_error(filename, linenum, "Can not open file `%s` for %s.\n", mem_filename.c_str(), str.c_str()); log_assert(GetSize(memory->children) == 2 && memory->children[1]->type == AST_RANGE && memory->children[1]->range_valid);