[PATCH 4/6] show-diff.c: adjust default format for the Linux kernel.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:41:53
[PATCH 4/6] show-diff.c: adjust default format for the Linux kernel.
This patch adjusts the default output format of show-diff to match
the Linux kernel style, recommended in Documentation/SubmittingPatches.
To be applied on top of:
[PATCH 1/6] show-diff.c: clean up private buffer use.
[PATCH 2/6] show-diff.c: check unreadbale blob.
[PATCH 3/6] show-diff.c: simplify show_diff_empty.
Signed-off-by: Junio C Hamano <redacted>
---
show-diff.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
--- a/show-diff.c
+++ b/show-diff.c@@ -5,7 +5,7 @@ */ #include "cache.h" -static char *diff_cmd = "diff -L '%s' -u -N - '%s'"; +static char *diff_cmd = "diff -L 'a/%s' -L 'b/%s' -p -u - '%s'"; /* Help to copy the thing properly quoted for the shell safety. * any single quote is replaced with '\'', and the caller is
@@ -52,11 +52,12 @@ static void show_differences(char *name, FILE *f; char *name_sq = sq_expand(name); char *label_sq = (name != label) ? sq_expand(label) : name_sq; - int cmd_size = strlen(name_sq) + strlen(label_sq) + strlen(diff_cmd); + int cmd_size = strlen(name_sq) + + strlen(label_sq) * 2 + strlen(diff_cmd); char *cmd = malloc(cmd_size); fflush(stdout); - snprintf(cmd, cmd_size, diff_cmd, label_sq, name_sq); + snprintf(cmd, cmd_size, diff_cmd, label_sq, label_sq, name_sq); f = popen(cmd, "w"); if (old_size) fwrite(old_contents, old_size, 1, f);