summaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 75e702b..5f19db0 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -791,6 +791,14 @@ fork_exec (int *pfdin, int *pfdout, const char *path, char *const *arg)
return pid;
}
+/* Execute an external program in a shell. */
+int
+shell_exec (int *pfdin, int *pfdout, char *cmd)
+{
+ char *arg[] = { "/bin/sh", "-c", cmd, NULL };
+ return fork_exec (pfdin, pfdout, *arg, arg);
+}
+
/* Wait for a child process to terminate. */
int
child_wait (int *pfdin, int *pfdout, int pid)