From 8926f839720471cc86fd4f7c6371d63b8f71b91d Mon Sep 17 00:00:00 2001 From: dacctal <120422854+dacctal@users.noreply.github.com> Date: Wed, 21 Jan 2026 23:56:39 -0500 Subject: initial commit --- src/cmd_out.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/cmd_out.cc (limited to 'src/cmd_out.cc') diff --git a/src/cmd_out.cc b/src/cmd_out.cc new file mode 100644 index 0000000..a855add --- /dev/null +++ b/src/cmd_out.cc @@ -0,0 +1,18 @@ +#include +#include +#include +#include +#include + +std::string cmd_out(const char* cmd) { + std::array buffer; + std::string result; + std::unique_ptr pipe(popen(cmd, "r"), pclose); + if (!pipe) { + throw std::runtime_error("popen() failed!"); + } + while (fgets(buffer.data(), static_cast(buffer.size()), pipe.get()) != nullptr) { + result += buffer.data(); + } + return result; +} -- cgit v1.2.3