diff --git a/src/util/system.cpp b/src/util/system.cpp index 403ccec..6f39c66 100644 --- a/src/util/system.cpp +++ b/src/util/system.cpp @@ -18,7 +18,7 @@ System::System() { } -System::System(std::vector arguments) +System::System(const std::vector& arguments) : m_arguments(arguments) { } @@ -44,7 +44,7 @@ System System::operator()(std::string command) command = command.substr(index + 1); } - return System(arguments); + return { arguments }; } System System::operator()(std::string_view command) @@ -59,12 +59,12 @@ System System::operator()(const std::vector& arguments) stringArguments[i] = arguments[i]; } - return System(stringArguments); + return { stringArguments }; } System System::operator()(const std::vector& arguments) { - return System(arguments); + return { arguments }; } System System::operator()(const std::vector& arguments) @@ -74,7 +74,7 @@ System System::operator()(const std::vector& arguments) stringArguments[i] = arguments[i]; } - return System(stringArguments); + return { stringArguments }; } // Shell equivalent ; diff --git a/src/util/system.h b/src/util/system.h index cdac3e4..796ac1c 100644 --- a/src/util/system.h +++ b/src/util/system.h @@ -14,7 +14,6 @@ using SplitCallback = std::function; class System { public: System(); - System(std::vector arguments); virtual ~System() {} enum FileDescriptor { @@ -43,6 +42,8 @@ public: int status() const { return m_status; } private: + System(const std::vector& arguments); + System exec(std::string input = ""); void readFromFileDescriptor(int fileDescriptor[2], std::string& output);