diff options
author | Vaxry <[email protected]> | 2024-04-28 18:58:31 +0100 |
---|---|---|
committer | Vaxry <[email protected]> | 2024-04-28 18:58:31 +0100 |
commit | b164e67d8b1f12420ec44a1c837af7923559ccf2 (patch) | |
tree | 1689dce8952bd39305dcf3681cf1a148a91be7ff | |
parent | 28c85619243e6320e75d7abcfe8244fa99d054dd (diff) | |
download | Hyprland-b164e67d8b1f12420ec44a1c837af7923559ccf2.tar.gz Hyprland-b164e67d8b1f12420ec44a1c837af7923559ccf2.zip |
core: prefer mkdir over create_directory and permissions
-rw-r--r-- | src/Compositor.cpp | 13 | ||||
-rw-r--r-- | src/plugins/HookSystem.cpp | 8 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 17786cb2..8e333ebe 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -16,6 +16,9 @@ #include "protocols/FractionalScale.hpp" #include "protocols/PointerConstraints.hpp" +#include <sys/stat.h> +#include <sys/types.h> + int handleCritSignal(int signo, void* data) { Debug::log(LOG, "Hyprland received signal {}", signo); @@ -63,15 +66,11 @@ CCompositor::CCompositor() { setenv("HYPRLAND_INSTANCE_SIGNATURE", m_szInstanceSignature.c_str(), true); - if (!std::filesystem::exists("/tmp/hypr")) { - std::filesystem::create_directory("/tmp/hypr"); - std::filesystem::permissions("/tmp/hypr", std::filesystem::perms::all | std::filesystem::perms::sticky_bit, std::filesystem::perm_options::replace); - } + if (!std::filesystem::exists("/tmp/hypr")) + mkdir("/tmp/hypr", S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX); const auto INSTANCEPATH = "/tmp/hypr/" + m_szInstanceSignature; - std::filesystem::create_directory(INSTANCEPATH); - std::filesystem::permissions(INSTANCEPATH, std::filesystem::perms::group_all, std::filesystem::perm_options::replace); - std::filesystem::permissions(INSTANCEPATH, std::filesystem::perms::owner_all, std::filesystem::perm_options::add); + mkdir(INSTANCEPATH.c_str(), S_IRWXU | S_IRWXG); Debug::init(m_szInstanceSignature); diff --git a/src/plugins/HookSystem.cpp b/src/plugins/HookSystem.cpp index 5082f54c..7ae71726 100644 --- a/src/plugins/HookSystem.cpp +++ b/src/plugins/HookSystem.cpp @@ -10,6 +10,8 @@ #include <unistd.h> #include <cstring> #include <fstream> +#include <sys/stat.h> +#include <sys/types.h> CFunctionHook::CFunctionHook(HANDLE owner, void* source, void* destination) { m_pSource = source; @@ -138,10 +140,10 @@ CFunctionHook::SAssembly CFunctionHook::fixInstructionProbeRIPCalls(const SInstr const auto RANDOMDIR = "/tmp/hypr/" + g_pTokenManager->getRandomUUID(); - if (!std::filesystem::create_directory(RANDOMDIR)) - return {}; + mkdir(RANDOMDIR.c_str(), S_IRWXU); - std::filesystem::permissions(RANDOMDIR, std::filesystem::perms::owner_all, std::filesystem::perm_options::replace); + if (!std::filesystem::exists(RANDOMDIR)) + return {}; std::ofstream ofs(RANDOMDIR + "/.hookcode.asm", std::ios::trunc); ofs << assemblyBuilder; |