aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fs.cpp5
-rw-r--r--src/fs.h1
-rw-r--r--src/logging.cpp10
3 files changed, 5 insertions, 11 deletions
diff --git a/src/fs.cpp b/src/fs.cpp
index e7d06e45a..2dbc13643 100644
--- a/src/fs.cpp
+++ b/src/fs.cpp
@@ -14,11 +14,6 @@ FILE *fopen(const fs::path& p, const char *mode)
return ::fopen(p.string().c_str(), mode);
}
-FILE *freopen(const fs::path& p, const char *mode, FILE *stream)
-{
- return ::freopen(p.string().c_str(), mode, stream);
-}
-
#ifndef WIN32
static std::string GetErrorReason() {
diff --git a/src/fs.h b/src/fs.h
index e3ff51604..5a28d9a81 100644
--- a/src/fs.h
+++ b/src/fs.h
@@ -18,7 +18,6 @@ namespace fs = boost::filesystem;
/** Bridge operations to C stdio */
namespace fsbridge {
FILE *fopen(const fs::path& p, const char *mode);
- FILE *freopen(const fs::path& p, const char *mode, FILE *stream);
class FileLock
{
diff --git a/src/logging.cpp b/src/logging.cpp
index 6557dddff..0ae4f8121 100644
--- a/src/logging.cpp
+++ b/src/logging.cpp
@@ -219,13 +219,13 @@ void BCLog::Logger::LogPrintStr(const std::string &str)
// reopen the log file, if requested
if (m_reopen_file) {
m_reopen_file = false;
- m_fileout = fsbridge::freopen(m_file_path, "a", m_fileout);
- if (!m_fileout) {
- return;
+ FILE* new_fileout = fsbridge::fopen(m_file_path, "a");
+ if (new_fileout) {
+ setbuf(new_fileout, nullptr); // unbuffered
+ fclose(m_fileout);
+ m_fileout = new_fileout;
}
- setbuf(m_fileout, nullptr); // unbuffered
}
-
FileWriteStr(strTimestamped, m_fileout);
}
}