From 190ff781eaee33e7a61aab44fc4133718cc0515b Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 13 Jun 2026 00:36:59 +0200 Subject: add .clang-format --- src/process.cpp | 88 +++++++++++++++++++++++++++------------------------------ 1 file changed, 41 insertions(+), 47 deletions(-) (limited to 'src/process.cpp') diff --git a/src/process.cpp b/src/process.cpp index a2eddc0..b71bff0 100644 --- a/src/process.cpp +++ b/src/process.cpp @@ -3,60 +3,54 @@ // For details, see https://github.com/egor-tensin/privilege-check. // Distributed under the MIT License. +#include "process.hpp" + #include "cmd_line.hpp" #include "error.hpp" -#include "process.hpp" +/* clang-format off */ #include #include +/* clang-format on */ #include #include -namespace process -{ - std::wstring get_executable_path() - { - static constexpr DWORD max_path = MAX_PATH; - - std::array buf; - - const auto ret = GetModuleFileNameW(NULL, buf.data(), max_path); - - if (ret != ERROR_SUCCESS) - error::raise("GetModuleFileNameW"); - - return buf.data(); - } - - void runas( - const CommandLine& cmd_line, - HWND hwnd, - int nShow) - { - const auto exe_path = cmd_line.has_argv0() - ? cmd_line.get_argv0() - : get_executable_path(); - - SHELLEXECUTEINFOW info; - ZeroMemory(&info, sizeof(info)); - info.cbSize = sizeof(info); - info.lpVerb = L"runas"; - info.lpFile = exe_path.c_str(); - const auto args = cmd_line.join_args(); - if (!args.empty()) - info.lpParameters = args.c_str(); - info.hwnd = hwnd; - info.nShow = nShow; - - if (!ShellExecuteExW(&info)) - error::raise("ShellExecuteExW"); - } - - void runas_self( - HWND hwnd, - int nShow) - { - runas(CommandLine::query(), hwnd, nShow); - } +namespace process { + +std::wstring get_executable_path() { + static constexpr DWORD max_path = MAX_PATH; + + std::array buf; + + const auto ret = GetModuleFileNameW(NULL, buf.data(), max_path); + + if (ret != ERROR_SUCCESS) + error::raise("GetModuleFileNameW"); + + return buf.data(); +} + +void runas(const CommandLine& cmd_line, HWND hwnd, int nShow) { + const auto exe_path = cmd_line.has_argv0() ? cmd_line.get_argv0() : get_executable_path(); + + SHELLEXECUTEINFOW info; + ZeroMemory(&info, sizeof(info)); + info.cbSize = sizeof(info); + info.lpVerb = L"runas"; + info.lpFile = exe_path.c_str(); + const auto args = cmd_line.join_args(); + if (!args.empty()) + info.lpParameters = args.c_str(); + info.hwnd = hwnd; + info.nShow = nShow; + + if (!ShellExecuteExW(&info)) + error::raise("ShellExecuteExW"); } + +void runas_self(HWND hwnd, int nShow) { + runas(CommandLine::query(), hwnd, nShow); +} + +} // namespace process -- cgit v1.3