git-diff-tree: simplify header output with '-z'
authorLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 27 May 2005 17:22:09 +0000 (10:22 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 27 May 2005 17:22:09 +0000 (10:22 -0700)
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".

diff-tree.c

index 8297b7f..80d02b4 100644 (file)
@@ -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);