From cf308ff112a68cc7a02012e3813fd12ec27108d0 Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Tue, 8 May 2018 14:41:37 -0400 Subject: [PATCH] only provide a callback for command I/O if the pipe direction is being used. --- lib/job.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/job.c b/lib/job.c index e9c3459..2cdc56a 100644 --- a/lib/job.c +++ b/lib/job.c @@ -132,7 +132,7 @@ void job_spawn(int fd, jobfn_t readfn, jobfn_t writefn, void* data) { void job_start(char** cmd, char* data, size_t ndata, View* dest) { int fd = job_exec(cmd); - if (fd >= 0) { + if (fd >= 0 && (data || dest)) { struct PipeData* pipedata = NULL; if (data) { pipedata = calloc(1, sizeof(struct PipeData)); @@ -140,6 +140,8 @@ void job_start(char** cmd, char* data, size_t ndata, View* dest) { pipedata->ndata = ndata; pipedata->dest = dest; } - job_spawn(fd, pipe_read, pipe_write, pipedata); + job_spawn(fd, (data ? pipe_read : NULL), (dest ? pipe_write : NULL), pipedata); + } else { + close(fd); } } -- 2.49.0