From a2d6635774d29561984a85d59c60d23ece3a0af7 Mon Sep 17 00:00:00 2001 From: rsc Date: Sat, 29 Jan 2005 16:50:51 +0000 Subject: add diff -a --- src/cmd/diff/diffio.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'src/cmd/diff/diffio.c') diff --git a/src/cmd/diff/diffio.c b/src/cmd/diff/diffio.c index 5317539b..80371144 100644 --- a/src/cmd/diff/diffio.c +++ b/src/cmd/diff/diffio.c @@ -302,6 +302,7 @@ change(int a, int b, int c, int d) range(a, b, " "); break; case 'c': + case 'a': if(nchanges%1024 == 0) changes = erealloc(changes, (nchanges+1024)*sizeof(changes[0])); ch = &changes[nchanges++]; @@ -348,24 +349,39 @@ flushchanges(void) for(i=0; i len[0]) + b = len[0]; + if(d > len[1]) + d = len[1]; + if(mode == 'a'){ + a = 1; + b = len[0]; + c = 1; + d = len[1]; + j = nchanges; + } Bprint(&stdout, "%s:", file1); range(a, b, ","); Bprint(&stdout, " - "); Bprint(&stdout, "%s:", file2); range(c, d, ","); Bputc(&stdout, '\n'); - at = a-Lines; + at = a; for(; i "); at = changes[i].b+1; } - fetch(ixold, at, b+Lines, input[0], " "); + fetch(ixold, at, b, input[0], " "); } nchanges = 0; } -- cgit v1.2.3