mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-30 04:21:16 +00:00
Common/FileUtil: Add CreateDirs() function as a wrapper around std::filesystem::create_directories().
This commit is contained in:
parent
616d57e7fc
commit
e479f92418
@ -193,7 +193,6 @@ bool Delete(const std::string& filename, IfAbsentBehavior behavior)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if successful, or path already exists.
|
|
||||||
bool CreateDir(const std::string& path)
|
bool CreateDir(const std::string& path)
|
||||||
{
|
{
|
||||||
DEBUG_LOG_FMT(COMMON, "{}: directory {}", __func__, path);
|
DEBUG_LOG_FMT(COMMON, "{}: directory {}", __func__, path);
|
||||||
@ -209,6 +208,22 @@ bool CreateDir(const std::string& path)
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CreateDirs(std::string_view path)
|
||||||
|
{
|
||||||
|
DEBUG_LOG_FMT(COMMON, "{}: directory {}", __func__, path);
|
||||||
|
|
||||||
|
std::error_code error;
|
||||||
|
auto native_path = StringToPath(path);
|
||||||
|
bool success = fs::create_directories(native_path, error);
|
||||||
|
// If the path was not created, check if it was a pre-existing directory
|
||||||
|
std::error_code error_ignored;
|
||||||
|
if (!success && fs::is_directory(native_path, error_ignored))
|
||||||
|
success = true;
|
||||||
|
if (!success)
|
||||||
|
ERROR_LOG_FMT(COMMON, "{}: failed on {}: {}", __func__, path, error.message());
|
||||||
|
return success;
|
||||||
|
}
|
||||||
|
|
||||||
bool CreateFullPath(std::string_view fullPath)
|
bool CreateFullPath(std::string_view fullPath)
|
||||||
{
|
{
|
||||||
DEBUG_LOG_FMT(COMMON, "{}: path {}", __func__, fullPath);
|
DEBUG_LOG_FMT(COMMON, "{}: path {}", __func__, fullPath);
|
||||||
|
@ -140,9 +140,12 @@ u64 GetSize(const std::string& path);
|
|||||||
// Overloaded GetSize, accepts FILE*
|
// Overloaded GetSize, accepts FILE*
|
||||||
u64 GetSize(FILE* f);
|
u64 GetSize(FILE* f);
|
||||||
|
|
||||||
// Returns true if successful, or path already exists.
|
// Creates a single directory. Returns true if successful or if the path already exists.
|
||||||
bool CreateDir(const std::string& filename);
|
bool CreateDir(const std::string& filename);
|
||||||
|
|
||||||
|
// Creates directories recursively. Returns true if successful or if the path already exists.
|
||||||
|
bool CreateDirs(std::string_view filename);
|
||||||
|
|
||||||
// Creates the full path to the file given in fullPath.
|
// Creates the full path to the file given in fullPath.
|
||||||
// That is, for path '/a/b/c.bin', creates folders '/a' and '/a/b'.
|
// That is, for path '/a/b/c.bin', creates folders '/a' and '/a/b'.
|
||||||
// Returns true if creation is successful or if the path already exists.
|
// Returns true if creation is successful or if the path already exists.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user