X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=run-command.c;h=c7793f50fbe0a43495c2b2d36a47c0b5aac37483;hb=21baa6e0c56d229866c02c4b42b8b53af648d853;hp=c8d53795ec3ae9b8b0a73b3d6900c1a1f212d2c2;hpb=954f7cfdac48b8d9fe91c29ecfa44ac0c639867c;p=git.git diff --git a/run-command.c b/run-command.c index c8d53795e..c7793f50f 100644 --- a/run-command.c +++ b/run-command.c @@ -342,8 +342,6 @@ fail_pipe: else if (cmd->out > 1) fhout = dup(cmd->out); - if (cmd->dir) - die("chdir in start_command() not implemented"); if (cmd->env) env = make_augmented_environ(cmd->env); @@ -353,7 +351,7 @@ fail_pipe: cmd->argv = prepare_shell_cmd(cmd->argv); } - cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env, + cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env, cmd->dir, fhin, fhout, fherr); failed_errno = errno; if (cmd->pid < 0 && (!cmd->silent_exec_failure || errno != ENOENT)) @@ -385,6 +383,8 @@ fail_pipe: close(cmd->out); if (need_err) close_pair(fderr); + else if (cmd->err) + close(cmd->err); errno = failed_errno; return -1; }