mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-08 12:11:24 +00:00
Changed frontend-api from FILE to std::istream
This commit is contained in:
parent
5dce303a2a
commit
19cff41eb4
22 changed files with 116 additions and 89 deletions
|
@ -720,13 +720,13 @@ struct ShowPass : public Pass {
|
|||
}
|
||||
|
||||
for (auto filename : libfiles) {
|
||||
FILE *f = fopen(filename.c_str(), "rt");
|
||||
if (f == NULL)
|
||||
std::ifstream f;
|
||||
f.open(filename.c_str());
|
||||
if (f.fail())
|
||||
log_error("Can't open lib file `%s'.\n", filename.c_str());
|
||||
RTLIL::Design *lib = new RTLIL::Design;
|
||||
Frontend::frontend_call(lib, f, filename, (filename.size() > 3 && filename.substr(filename.size()-3) == ".il") ? "ilang" : "verilog");
|
||||
Frontend::frontend_call(lib, &f, filename, (filename.size() > 3 && filename.substr(filename.size()-3) == ".il") ? "ilang" : "verilog");
|
||||
libs.push_back(lib);
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
if (libs.size() > 0)
|
||||
|
|
|
@ -41,7 +41,7 @@ struct WriteFileFrontend : public Frontend {
|
|||
log(" EOT\n");
|
||||
log("\n");
|
||||
}
|
||||
virtual void execute(FILE *&f, std::string filename, std::vector<std::string> args, RTLIL::Design*)
|
||||
virtual void execute(std::istream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design*)
|
||||
{
|
||||
bool append_mode = false;
|
||||
std::string output_filename;
|
||||
|
@ -67,7 +67,7 @@ struct WriteFileFrontend : public Frontend {
|
|||
char buffer[64 * 1024];
|
||||
size_t bytes;
|
||||
|
||||
while (0 < (bytes = fread(buffer, 1, sizeof(buffer), f)))
|
||||
while (0 < (bytes = f->readsome(buffer, sizeof(buffer))))
|
||||
fwrite(buffer, bytes, 1, of);
|
||||
|
||||
fclose(of);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue