diff options
Diffstat (limited to 'src/core/reporter.cpp')
| -rw-r--r-- | src/core/reporter.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/core/reporter.cpp b/src/core/reporter.cpp index d1e807dd4..a9596fe4d 100644 --- a/src/core/reporter.cpp +++ b/src/core/reporter.cpp | |||
| @@ -11,7 +11,9 @@ | |||
| 11 | #include <fmt/ostream.h> | 11 | #include <fmt/ostream.h> |
| 12 | #include <nlohmann/json.hpp> | 12 | #include <nlohmann/json.hpp> |
| 13 | 13 | ||
| 14 | #include "common/file_util.h" | 14 | #include "common/fs/file.h" |
| 15 | #include "common/fs/fs.h" | ||
| 16 | #include "common/fs/path_util.h" | ||
| 15 | #include "common/hex_util.h" | 17 | #include "common/hex_util.h" |
| 16 | #include "common/scm_rev.h" | 18 | #include "common/scm_rev.h" |
| 17 | #include "common/settings.h" | 19 | #include "common/settings.h" |
| @@ -26,10 +28,9 @@ | |||
| 26 | 28 | ||
| 27 | namespace { | 29 | namespace { |
| 28 | 30 | ||
| 29 | std::string GetPath(std::string_view type, u64 title_id, std::string_view timestamp) { | 31 | std::filesystem::path GetPath(std::string_view type, u64 title_id, std::string_view timestamp) { |
| 30 | return fmt::format("{}{}/{:016X}_{}.json", | 32 | return Common::FS::GetYuzuPath(Common::FS::YuzuPath::LogDir) / type / |
| 31 | Common::FS::GetUserPath(Common::FS::UserPath::LogDir), type, title_id, | 33 | fmt::format("{:016X}_{}.json", title_id, timestamp); |
| 32 | timestamp); | ||
| 33 | } | 34 | } |
| 34 | 35 | ||
| 35 | std::string GetTimestamp() { | 36 | std::string GetTimestamp() { |
| @@ -39,14 +40,16 @@ std::string GetTimestamp() { | |||
| 39 | 40 | ||
| 40 | using namespace nlohmann; | 41 | using namespace nlohmann; |
| 41 | 42 | ||
| 42 | void SaveToFile(json json, const std::string& filename) { | 43 | void SaveToFile(json json, const std::filesystem::path& filename) { |
| 43 | if (!Common::FS::CreateFullPath(filename)) { | 44 | if (!Common::FS::CreateParentDirs(filename)) { |
| 44 | LOG_ERROR(Core, "Failed to create path for '{}' to save report!", filename); | 45 | LOG_ERROR(Core, "Failed to create path for '{}' to save report!", |
| 46 | Common::FS::PathToUTF8String(filename)); | ||
| 45 | return; | 47 | return; |
| 46 | } | 48 | } |
| 47 | 49 | ||
| 48 | std::ofstream file( | 50 | std::ofstream file; |
| 49 | Common::FS::SanitizePath(filename, Common::FS::DirectorySeparator::PlatformDefault)); | 51 | Common::FS::OpenFileStream(file, filename, std::ios_base::out | std::ios_base::trunc); |
| 52 | |||
| 50 | file << std::setw(4) << json << std::endl; | 53 | file << std::setw(4) << json << std::endl; |
| 51 | } | 54 | } |
| 52 | 55 | ||