![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/include/boost/process/detail/windows/ |
Upload File : |
// Copyright (c) 2016 Klemens D. Morgenstern // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_ #define BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_ #include <boost/winapi/error_codes.hpp> #include <boost/winapi/process.hpp> #include <boost/process/detail/config.hpp> #include <boost/process/detail/handler_base.hpp> #include <boost/process/environment.hpp> namespace boost { namespace process { namespace detail { namespace windows { template<typename Char> struct env_init : public ::boost::process::detail::handler_base { boost::process::basic_environment<Char> env; env_init(boost::process::basic_environment<Char> && env) : env(std::move(env)) {}; env_init(const boost::process::basic_environment<Char> & env) : env(env) {}; constexpr static ::boost::winapi::DWORD_ creation_flag(char) {return 0u;} constexpr static ::boost::winapi::DWORD_ creation_flag(wchar_t) { return ::boost::winapi::CREATE_UNICODE_ENVIRONMENT_; } template <class WindowsExecutor> void on_setup(WindowsExecutor &exec) const { auto e = env.native_handle(); if (*e == null_char<char>()) { exec.set_error(std::error_code(::boost::winapi::ERROR_BAD_ENVIRONMENT_, std::system_category()), "Empty Environment"); } exec.env = e; exec.creation_flags |= creation_flag(Char()); } }; }}}} #endif /* BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_ */