summaryrefslogtreecommitdiff
path: root/sys/src/cmd/diff
diff options
context:
space:
mode:
authorKyle Milz <krwmilz@gmail.com>2021-11-05 19:03:20 +0000
committerKyle Milz <krwmilz@gmail.com>2021-11-05 19:03:20 +0000
commitcd7480f68f3496b84ae25f916c2d700fc5afb42f (patch)
tree34fe5aa93ec7c969e699d567e14bb6ee05aa4203 /sys/src/cmd/diff
parent160e36aaef907ac15bbda9af1f628b266a7568df (diff)
diff: fix -u when comparing identical files
Diffstat (limited to 'sys/src/cmd/diff')
-rw-r--r--sys/src/cmd/diff/diff.h1
-rw-r--r--sys/src/cmd/diff/diffio.c33
-rw-r--r--sys/src/cmd/diff/diffreg.c1
3 files changed, 15 insertions, 20 deletions
diff --git a/sys/src/cmd/diff/diff.h b/sys/src/cmd/diff/diff.h
index 34a5dc010..76fe050df 100644
--- a/sys/src/cmd/diff/diff.h
+++ b/sys/src/cmd/diff/diff.h
@@ -22,6 +22,5 @@ Biobuf *prepare(int, char *);
void panic(int, char *, ...);
void check(Biobuf *, Biobuf *);
void change(int, int, int, int);
-void fileheader(void);
void flushchanges(void);
diff --git a/sys/src/cmd/diff/diffio.c b/sys/src/cmd/diff/diffio.c
index 146bef3bc..4f291ca26 100644
--- a/sys/src/cmd/diff/diffio.c
+++ b/sys/src/cmd/diff/diffio.c
@@ -267,16 +267,22 @@ change(int a, int b, int c, int d)
if (a > b && c > d)
return;
anychange = 1;
- if (mflag && firstchange == 0) {
- if(mode) {
- buf[0] = '-';
- buf[1] = mode;
- buf[2] = ' ';
- buf[3] = '\0';
- } else {
- buf[0] = '\0';
+ if (firstchange == 0) {
+ if (mflag) {
+ if(mode) {
+ buf[0] = '-';
+ buf[1] = mode;
+ buf[2] = ' ';
+ buf[3] = '\0';
+ } else {
+ buf[0] = '\0';
+ }
+ Bprint(&stdout, "diff %s%s %s\n", buf, file1, file2);
+ }
+ if (mode == 'u') {
+ Bprint(&stdout, "--- %s\n", file1);
+ Bprint(&stdout, "+++ %s\n", file2);
}
- Bprint(&stdout, "diff %s%s %s\n", buf, file1, file2);
firstchange = 1;
}
verb = a > b ? 'a': c > d ? 'd': 'c';
@@ -340,15 +346,6 @@ changeset(int i)
}
void
-fileheader(void)
-{
- if(mode != 'u')
- return;
- Bprint(&stdout, "--- %s\n", file1);
- Bprint(&stdout, "+++ %s\n", file2);
-}
-
-void
flushchanges(void)
{
int a, b, c, d, at;
diff --git a/sys/src/cmd/diff/diffreg.c b/sys/src/cmd/diff/diffreg.c
index 6f6f144fc..7ef855994 100644
--- a/sys/src/cmd/diff/diffreg.c
+++ b/sys/src/cmd/diff/diffreg.c
@@ -285,7 +285,6 @@ output(void)
m = len[0];
J[0] = 0;
J[m+1] = len[1]+1;
- fileheader();
if (mode != 'e') {
for (i0 = 1; i0 <= m; i0 = i1+1) {
while (i0 <= m && J[i0] == J[i0-1]+1)