[PATCH 5/6] run_external_diff: hoist common bits out of conditional
- From
Jeff King <peff@peff.net>
- Date
- Apr 19, 2014, 19:20 UTC
- Message-ID
- <20140419192045.GA9189@sigill.intra.peff.net>
- In-Reply-To
- <20140419191128.GA9266@sigill.intra.peff.net>
Whether we have diff_filespecs to give to the diff command or not, we always are going to run the program and pass it the pathname. Let's pull that duplicated part out of the conditional to make it more obvious.
Signed-off-by: Jeff King <peff@peff.net> --- diff.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/diff.c b/diff.c index fdb7f6c..173b657 100644 --- a/diff.c +++ b/diff.c @@ -2907,26 +2907,24 @@ static void run_external_diff(const char *pgm, struct argv_array env = ARGV_ARRAY_INIT; struct diff_queue_struct *q = &diff_queued_diff; + argv_array_push(&argv, pgm); + argv_array_push(&argv, name); + if (one && two) { struct diff_tempfile *temp_one, *temp_two; const char *othername = (other ? other : name); temp_one = prepare_temp_file(name, one); temp_two = prepare_temp_file(othername, two); - argv_array_push(&argv, pgm); - argv_array_push(&argv, name); argv_array_push(&argv, temp_one->name); argv_array_push(&argv, temp_one->hex); argv_array_push(&argv, temp_one->mode); argv_array_push(&argv, temp_two->name); argv_array_push(&argv, temp_two->hex); argv_array_push(&argv, temp_two->mode); if (other) { argv_array_push(&argv, other); argv_array_push(&argv, xfrm_msg); } - } else { - argv_array_push(&argv, pgm); - argv_array_push(&argv, name); } argv_array_pushf(&env, "GIT_DIFF_PATH_COUNTER=%d", ++o->diff_path_counter);
-- 1.9.1.656.ge8a0637