Browse Source

git-diff-tree: simplify header output with '-z'

No need to make them multiple lines, in fact we explicitly don't want that.

This also fixes a 64-bit problem pointed out by Markus F.X.J. Oberhumer,
where we gave "%.*s" a "ptrdiff_t" length argument instead of an "int".
maint
Linus Torvalds 20 years ago
parent
commit
84c1afd7e7
  1. 17
      diff-tree.c

17
diff-tree.c

@ -269,18 +269,11 @@ static int call_diff_flush(void) @@ -269,18 +269,11 @@ static int call_diff_flush(void)
return 0;
}
if (header) {
if (diff_output_format == DIFF_FORMAT_MACHINE) {
const char *ep, *cp;
for (cp = header; *cp; cp = ep) {
ep = strchr(cp, '\n');
if (ep == 0) ep = cp + strlen(cp);
printf("%.*s%c", ep-cp, cp, 0);
if (*ep) ep++;
}
}
else {
printf("%s", header);
}
const char *fmt = "%s";
if (diff_output_format == DIFF_FORMAT_MACHINE)
fmt = "%s%c";
printf(fmt, header, 0);
header = NULL;
}
diff_flush(diff_output_format, 1);

Loading…
Cancel
Save