From 9fb715dc74b632c74aafec1652d4e66dc28cc341 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Tue, 6 Jan 2015 15:46:58 +0100 Subject: [PATCH] build fix for mxe --- kernel/driver.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/kernel/driver.cc b/kernel/driver.cc index 2cbdba8f..1698e216 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -409,21 +409,22 @@ int main(int argc, char **argv) #ifdef YOSYS_ENABLE_COVER if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE")) { - char filename_buffer[4096]; + string filename; FILE *f; if (getenv("YOSYS_COVER_DIR")) { - snprintf(filename_buffer, 4096, "%s/yosys_cover_%d_XXXXXX.txt", getenv("YOSYS_COVER_DIR"), getpid()); - f = fdopen(mkstemps(filename_buffer, 4), "w"); + filename = stringf("%s/yosys_cover_%d_XXXXXX.txt", getenv("YOSYS_COVER_DIR"), getpid()); + filename = make_temp_file(filename); } else { - snprintf(filename_buffer, 4096, "%s", getenv("YOSYS_COVER_FILE")); - f = fopen(filename_buffer, "a+"); + filename = getenv("YOSYS_COVER_FILE"); } - if (f == NULL) - log_error("Can't create coverage file `%s'.\n", filename_buffer); + f = fopen(filename.c_str(), "a+"); - log("\n", filename_buffer); + if (f == NULL) + log_error("Can't create coverage file `%s'.\n", filename.c_str()); + + log("\n", filename.c_str()); for (auto &it : get_coverage_data()) fprintf(f, "%-60s %10d %s\n", it.second.first.c_str(), it.second.second, it.first.c_str());