X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmisc.cpp;h=08df524bf26beb5bed4453910cc161b1ed8364a3;hp=e2f101ab5a03e4ff7b3fc6bad60609bfebec872d;hb=f2f3a06a1acfa14b3054bfd73d6c3966c326a7cc;hpb=5972c4a678dfd50648e222fcf2f029330ed9de8a diff --git a/src/misc.cpp b/src/misc.cpp index e2f101ab..08df524b 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -65,23 +65,23 @@ struct Tie: public streambuf { // MSVC requires split streambuf for cin and cout class Logger { Logger() : in(cin.rdbuf(), file.rdbuf()), out(cout.rdbuf(), file.rdbuf()) {} - ~Logger() { start(false); } + ~Logger() { start(""); } ofstream file; Tie in, out; public: - static void start(bool b) { + static void start(const std::string& fname) { static Logger l; - if (b && !l.file.is_open()) + if (!fname.empty() && !l.file.is_open()) { - l.file.open("io_log.txt", ifstream::out); + l.file.open(fname, ifstream::out); cin.rdbuf(&l.in); cout.rdbuf(&l.out); } - else if (!b && l.file.is_open()) + else if (fname.empty() && l.file.is_open()) { cout.rdbuf(l.out.buf); cin.rdbuf(l.in.buf); @@ -157,7 +157,7 @@ std::ostream& operator<<(std::ostream& os, SyncCout sc) { /// Trampoline helper to avoid moving Logger to misc.h -void start_logger(bool b) { Logger::start(b); } +void start_logger(const std::string& fname) { Logger::start(fname); } /// prefetch() preloads the given address in L1/L2 cache. This is a non-blocking