X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=io.c;h=901a3817065e32a46d623363b82be529840945a2;hb=bc334f1ecc401b2753927a808fd36ef76ee00691;hp=edd6e85cfe110a45b1ee76a05ca476ccc8ef755b;hpb=607cfb11cd9b6e2beaa36158d77842f8aac7fd67;p=tig.git diff --git a/io.c b/io.c index edd6e85..901a381 100644 --- a/io.c +++ b/io.c @@ -97,6 +97,7 @@ argv_copy(const char ***dst, const char *src[]) { int argc; + argv_free(*dst); for (argc = 0; src[argc]; argc++) if (!argv_append(dst, src[argc])) return FALSE; @@ -182,6 +183,9 @@ io_run(struct io *io, enum io_type type, const char *dir, const char *argv[], .. io_init(io); + if (dir && !strcmp(dir, argv[0])) + return io_open(io, "%s%s", dir, argv[1]); + if ((type == IO_RD || type == IO_WR) && pipe(pipefds) < 0) { io->error = errno; return FALSE;