Commit 4ded1ae6 authored by Max Kellermann's avatar Max Kellermann

fs/FileSystem: add CreateDirectoryNoThrow()

parent 1da974e3
...@@ -67,6 +67,16 @@ StatFile(Path file, struct stat &buf, bool follow_symlinks = true) ...@@ -67,6 +67,16 @@ StatFile(Path file, struct stat &buf, bool follow_symlinks = true)
#endif #endif
static inline bool
CreateDirectoryNoThrow(Path path) noexcept
{
#ifdef _WIN32
return CreateDirectory(path.c_str(), nullptr);
#else
return mkdir(path.c_str(), 0777);
#endif
}
/** /**
* Truncate a file that exists already. Throws std::system_error on * Truncate a file that exists already. Throws std::system_error on
* error. * error.
......
...@@ -314,7 +314,7 @@ GetAppRuntimeDir() noexcept ...@@ -314,7 +314,7 @@ GetAppRuntimeDir() noexcept
#ifdef USE_XDG #ifdef USE_XDG
if (const auto user_dir = GetUserRuntimeDir(); !user_dir.IsNull()) { if (const auto user_dir = GetUserRuntimeDir(); !user_dir.IsNull()) {
auto dir = user_dir / app_filename; auto dir = user_dir / app_filename;
mkdir(dir.c_str(), 0777); CreateDirectoryNoThrow(dir);
return dir; return dir;
} }
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment