X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffile_log.cc;h=adb06b7f04fb71f4f6e986cdd930ffdc1ba3b602;hb=2b0cad926f8206390db09a659f6d63341a912871;hp=a9522bad507dc722033074c9a5abd45c7770dcf5;hpb=809bcfd85fad2ef7d4131c054be4cccd5bcc9d05;p=dcpomatic.git diff --git a/src/lib/file_log.cc b/src/lib/file_log.cc index a9522bad5..adb06b7f0 100644 --- a/src/lib/file_log.cc +++ b/src/lib/file_log.cc @@ -22,6 +22,7 @@ #include "file_log.h" #include "cross.h" #include "config.h" +#include #include #include #include @@ -51,14 +52,13 @@ FileLog::FileLog (boost::filesystem::path file, int types) void FileLog::do_log (shared_ptr entry) { - auto f = fopen_boost (_file, "a"); + dcp::File f(_file, "a"); if (!f) { cout << "(could not log to " << _file.string() << " error " << errno << "): " << entry->get() << "\n"; return; } - fprintf (f, "%s\n", entry->get().c_str()); - fclose (f); + fprintf(f.get(), "%s\n", entry->get().c_str()); } @@ -80,7 +80,7 @@ FileLog::head_and_tail (int amount) const tail_amount = 0; } - auto f = fopen_boost (_file, "r"); + dcp::File f(_file, "r"); if (!f) { return ""; } @@ -89,21 +89,19 @@ FileLog::head_and_tail (int amount) const std::vector buffer(max(head_amount, tail_amount) + 1); - int N = fread (buffer.data(), 1, head_amount, f); + int N = f.read(buffer.data(), 1, head_amount); buffer[N] = '\0'; out += string (buffer.data()); if (tail_amount > 0) { out += "\n .\n .\n .\n"; - fseek (f, - tail_amount - 1, SEEK_END); + f.seek(- tail_amount - 1, SEEK_END); - N = fread (buffer.data(), 1, tail_amount, f); + N = f.read(buffer.data(), 1, tail_amount); buffer[N] = '\0'; - out += string (buffer.data()) + "\n"; + out += string(buffer.data()) + "\n"; } - fclose (f); - return out; }