vfs: add source location to exception

This commit is contained in:
Megamouse
2026-07-18 21:48:18 +02:00
parent 8df0fcc0cc
commit 357b7d4462
2 changed files with 6 additions and 6 deletions
+4 -4
View File
@@ -194,13 +194,13 @@ bool vfs::unmount(std::string_view vpath)
return true;
}
std::string vfs::get(std::string_view vpath, std::vector<std::string>* out_dir, std::string* out_path)
std::string vfs::get(std::string_view vpath, std::vector<std::string>* out_dir, std::string* out_path, std::source_location src_loc)
{
// Just to make the code more robust.
// It should never happen because we take care to initialize Emu (and so also vfs_manager) with Emu.Init() before this function is invoked
if (!g_fxo->is_init<vfs_manager>())
{
fmt::throw_exception("vfs_manager not initialized");
fmt::throw_exception("vfs_manager not initialized.%s", src_loc);
}
auto& table = g_fxo->get<vfs_manager>();
@@ -377,13 +377,13 @@ std::string vfs::get(std::string_view vpath, std::vector<std::string>* out_dir,
using char2 = char8_t;
std::string vfs::retrieve(std::string_view path, const vfs_directory* node, std::vector<std::string_view>* mount_path)
std::string vfs::retrieve(std::string_view path, const vfs_directory* node, std::vector<std::string_view>* mount_path, std::source_location src_loc)
{
// Just to make the code more robust.
// It should never happen because we take care to initialize Emu (and so also vfs_manager) with Emu.Init() before this function is invoked
if (!g_fxo->is_init<vfs_manager>())
{
fmt::throw_exception("vfs_manager not initialized");
fmt::throw_exception("vfs_manager not initialized.%s", src_loc);
}
auto& table = g_fxo->get<vfs_manager>();
+2 -2
View File
@@ -16,10 +16,10 @@ namespace vfs
bool unmount(std::string_view vpath);
// Convert VFS path to fs path, optionally listing directories mounted in it
std::string get(std::string_view vpath, std::vector<std::string>* out_dir = nullptr, std::string* out_path = nullptr);
std::string get(std::string_view vpath, std::vector<std::string>* out_dir = nullptr, std::string* out_path = nullptr, std::source_location src_loc = std::source_location::current());
// Convert fs path to VFS path
std::string retrieve(std::string_view path, const vfs_directory* node = nullptr, std::vector<std::string_view>* mount_path = nullptr);
std::string retrieve(std::string_view path, const vfs_directory* node = nullptr, std::vector<std::string_view>* mount_path = nullptr, std::source_location src_loc = std::source_location::current());
// Escape VFS name by replacing non-portable characters with surrogates
std::string escape(std::string_view name, bool escape_slash = false);