aboutsummaryrefslogtreecommitdiff
path: root/frontend/print.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/print.cpp')
-rw-r--r--frontend/print.cpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/frontend/print.cpp b/frontend/print.cpp
deleted file mode 100644
index 0c60892..0000000
--- a/frontend/print.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <cstdarg>
-#include <string>
-#include <unistd.h>
-
-#include "print.h"
-
-using namespace std;
-
-static string va_stringf(va_list args, const char * fmt) {
- va_list args_copy;
- va_copy(args_copy, args);
-
- size_t sz = vsnprintf(NULL, 0, fmt, args_copy) + 1;
- char * msg = (char *) malloc(sz);
- va_end(args_copy);
-
- vsnprintf(msg, sz, fmt, args);
-
- string out = msg;
- free(msg);
-
- va_end(args);
-
- return out;
-}
-
-static string stringf(const char * fmt, ...) {
- va_list args;
- va_start(args, fmt);
- string out = va_stringf(args, fmt);
- va_end(args);
- return out;
-}
-
-void lprtf(const char * fmt, ...) {
- va_list args;
- va_start(args, fmt);
- string formatted = va_stringf(args, fmt);
- va_end(args);
-
- fwrite(formatted.c_str(), 1, formatted.size(), stdout);
- fflush(stdout);
-
- SessionLog::get().append(formatted);
-}
-
-SessionLog & SessionLog::get() {
- static SessionLog instance;
- return instance;
-}
-
-SessionLog::SessionLog() {
- if (!this->enable) return;
-
- string filename = stringf("%lu.log", getpid());
- FILE * file = fopen(filename.c_str(), "w+");
- this->file = { file, [] (FILE * file) { fclose(file); } };
-}
-
-void SessionLog::append(const string & str) const {
- this->append(str.data(), str.size());
-}
-
-void SessionLog::append(const char * str) const {
- this->append(str, strlen(str));
-}
-
-void SessionLog::append(const char * buf, size_t buf_size) const {
- if (this->file == nullptr) return;
- if (buf_size == 0) return;
- fwrite(buf, 1, buf_size, this->file.get());
-}
-