summaryrefslogtreecommitdiff
path: root/src/lib/file_log.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-04-16 22:20:54 +0200
committerCarl Hetherington <cth@carlh.net>2022-05-05 23:38:41 +0200
commit8a8c977c12fc65f1f50ea05099387e0fc8840e7d (patch)
tree2d2c8663652939d643779d1ab1c18a12813fcbd2 /src/lib/file_log.cc
parentefe153ab23b54cdbf28c653f2ccb0f25ca6bd015 (diff)
Use dcp::File in DCP-o-matic (#2231).
Diffstat (limited to 'src/lib/file_log.cc')
-rw-r--r--src/lib/file_log.cc18
1 files changed, 8 insertions, 10 deletions
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 <dcp/file.h>
#include <cstdio>
#include <iostream>
#include <cerrno>
@@ -51,14 +52,13 @@ FileLog::FileLog (boost::filesystem::path file, int types)
void
FileLog::do_log (shared_ptr<const LogEntry> 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<char> 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;
}