diff: fix -u when comparing identical files

This commit is contained in:
Kyle Milz 2021-11-05 19:03:20 +00:00
parent 160e36aaef
commit cd7480f68f
3 changed files with 15 additions and 20 deletions

View file

@ -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);

View file

@ -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';
@ -339,15 +345,6 @@ changeset(int i)
return nchanges;
}
void
fileheader(void)
{
if(mode != 'u')
return;
Bprint(&stdout, "--- %s\n", file1);
Bprint(&stdout, "+++ %s\n", file2);
}
void
flushchanges(void)
{

View file

@ -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)