Code

Do not drop data from '\0' until eol in patch output
authorStephan Feder <sf@b-i-t.de>
Fri, 7 Jul 2006 10:33:44 +0000 (12:33 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 7 Jul 2006 10:48:10 +0000 (03:48 -0700)
The binary file detection is just a heuristic which can well fail.
Do not produce garbage patches in these cases.

Signed-off-by: Stephan Feder <sf@b-i-t.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff.c

diff --git a/diff.c b/diff.c
index 507e4019e8bc2764daaf31ce76112ab509895704..f0450a8b0bcefc336b6aa5e3d5122c1a3a39b1a4 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -329,7 +329,9 @@ static void fn_out_consume(void *priv, char *line, unsigned long len)
        }
        if (len > 0 && line[len-1] == '\n')
                len--;
-       printf("%s%.*s%s\n", set, (int) len, line, reset);
+       fputs (set, stdout);
+       fwrite (line, len, 1, stdout);
+       puts (reset);
 }
 
 static char *pprint_rename(const char *a, const char *b)