common files used by crash printer

This commit is contained in:
otavepto 2024-01-07 09:20:03 +02:00
parent 85abf09650
commit d15441a30e
2 changed files with 56 additions and 0 deletions

38
crash_printer/common.cpp Normal file
View File

@ -0,0 +1,38 @@
#include "crash_printer/common.hpp"
#include <fstream>
#include <filesystem>
static bool create_dir_impl(std::filesystem::path &dirpath)
{
if (std::filesystem::is_directory(dirpath))
{
return true;
}
else if (std::filesystem::exists(dirpath)) // a file, we can't do anything
{
return false;
}
return std::filesystem::create_directories(dirpath);
}
bool crash_printer::create_dir(const std::string &filepath)
{
std::filesystem::path dirpath = std::filesystem::path(filepath).parent_path();
return create_dir_impl(dirpath);
}
bool crash_printer::create_dir(const std::wstring &filepath)
{
std::filesystem::path dirpath = std::filesystem::path(filepath).parent_path();
return create_dir_impl(dirpath);
}
void crash_printer::write(std::ofstream &file, const std::string &data)
{
if (!file.is_open()) {
return;
}
file << data << std::endl;
}

View File

@ -0,0 +1,18 @@
#ifndef _CRASH_PRINTER_COMMON_H
#define _CRASH_PRINTER_COMMON_H
#include <string>
#include <fstream>
namespace crash_printer {
bool create_dir(const std::string &dir);
bool create_dir(const std::wstring &dir);
void write(std::ofstream &file, const std::string &data);
}
#endif // _CRASH_PRINTER_COMMON_H