aboutsummaryrefslogtreecommitdiff
path: root/butl/process-run.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-04-10 13:19:19 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-04-10 13:19:19 +0200
commit550b5257aba507bcce98f6832b8905769a14955d (patch)
tree82804b1d214e94ceb8736f215dd20082614cbc1c /butl/process-run.cxx
parent0703f7a1acc9bf9512fdcad43a18a17981c8ca9e (diff)
Add process_run()/process_start() higher-level API on top of class process
Diffstat (limited to 'butl/process-run.cxx')
-rw-r--r--butl/process-run.cxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/butl/process-run.cxx b/butl/process-run.cxx
new file mode 100644
index 0000000..c3b2856
--- /dev/null
+++ b/butl/process-run.cxx
@@ -0,0 +1,32 @@
+// file : butl/process-run.cxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#include <butl/process>
+
+#include <cstdlib> // exit()
+#include <iostream> // cerr
+
+using namespace std;
+
+namespace butl
+{
+ process
+ process_start (const dir_path& cwd,
+ const process_path& pp,
+ const char* cmd[],
+ int in,
+ int out,
+ int err)
+ {
+ try
+ {
+ return process (cwd.string ().c_str (), pp, cmd, in, out, err);
+ }
+ catch (const process_child_error& e)
+ {
+ cerr << "unable to execute " << cmd[0] << ": " << e << endl;
+ exit (1);
+ }
+ }
+}