From c3961fe1f3310d5c8ebfd993e9d3be24beb09ed0 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 1 Jun 2010 08:40:31 -0400 Subject: [PATCH] Refactor io_complete into a single backend for {back,fore}ground and append IO --- tig.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/tig.c b/tig.c index 46f289e..a9924c9 100644 --- a/tig.c +++ b/tig.c @@ -879,38 +879,32 @@ io_run(struct io *io, const char **argv, const char *dir, enum io_type type) return io_start(io); } -static int -io_complete(struct io *io) +static bool +io_complete(enum io_type type, const char **argv, const char *dir, int fd) { - return io_start(io) && io_done(io); + struct io io = {}; + + io_prepare(&io, dir, type, argv); + io.pipe = fd; + return io_start(&io) && io_done(&io); } -static int +static bool io_run_bg(const char **argv) { - struct io io = {}; - - io_prepare(&io, NULL, IO_BG, argv); - return io_complete(&io); + return io_complete(IO_BG, argv, NULL, -1); } static bool io_run_fg(const char **argv, const char *dir) { - struct io io = {}; - - io_prepare(&io, dir, IO_FG, argv); - return io_complete(&io); + return io_complete(IO_FG, argv, dir, -1); } static bool io_run_append(const char **argv, int fd) { - struct io io = {}; - - io_prepare(&io, NULL, IO_AP, argv); - io.pipe = fd; - return io_complete(&io); + return io_complete(IO_AP, argv, NULL, -1); } static bool -- 2.30.2