Commit 1e6f5f01 authored by Max Kellermann's avatar Max Kellermann

fs/StandardDirectory: add GetUserRuntimeDir()

parent 225d85fd
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "net/SocketUtil.hxx" #include "net/SocketUtil.hxx"
#include "system/Error.hxx" #include "system/Error.hxx"
#include "fs/AllocatedPath.hxx" #include "fs/AllocatedPath.hxx"
#include "fs/StandardDirectory.hxx"
#include "fs/XDG.hxx" #include "fs/XDG.hxx"
#include "util/Domain.hxx" #include "util/Domain.hxx"
#include "util/RuntimeError.hxx" #include "util/RuntimeError.hxx"
...@@ -85,7 +86,7 @@ ListenXdgRuntimeDir(ClientListener &listener) noexcept ...@@ -85,7 +86,7 @@ ListenXdgRuntimeDir(ClientListener &listener) noexcept
use $XDG_RUNTIME_DIR */ use $XDG_RUNTIME_DIR */
return false; return false;
Path xdg_runtime_dir = Path::FromFS(getenv("XDG_RUNTIME_DIR")); const auto xdg_runtime_dir = GetUserRuntimeDir();
if (xdg_runtime_dir.IsNull()) if (xdg_runtime_dir.IsNull())
return false; return false;
......
...@@ -282,6 +282,16 @@ GetUserCacheDir() noexcept ...@@ -282,6 +282,16 @@ GetUserCacheDir() noexcept
#endif #endif
} }
AllocatedPath
GetUserRuntimeDir() noexcept
{
#ifdef USE_XDG
return SafePathFromFS(getenv("XDG_RUNTIME_DIR"));
#else
return nullptr;
#endif
}
#ifdef _WIN32 #ifdef _WIN32
AllocatedPath AllocatedPath
......
...@@ -43,6 +43,13 @@ GetUserMusicDir() noexcept; ...@@ -43,6 +43,13 @@ GetUserMusicDir() noexcept;
AllocatedPath AllocatedPath
GetUserCacheDir() noexcept; GetUserCacheDir() noexcept;
/**
* Obtains the runtime directory for the current user.
*/
[[gnu::const]]
AllocatedPath
GetUserRuntimeDir() noexcept;
#ifdef _WIN32 #ifdef _WIN32
/** /**
......
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