ref: 68572ab45102118db695ab1bcc935b9b3b95c7ca
parent: 401e166bbc0c8ec26939b3cadcab83fcbe5b2d29
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Nov 8 20:29:30 EST 2021
diff: revert last change, this breaks git/diff
--- a/sys/src/cmd/diff/diff.h
+++ b/sys/src/cmd/diff/diff.h
@@ -22,5 +22,6 @@
void panic(int, char *, ...);
void check(Biobuf *, Biobuf *);
void change(int, int, int, int);
+void fileheader(void);
void flushchanges(void);
--- a/sys/src/cmd/diff/diffio.c
+++ b/sys/src/cmd/diff/diffio.c
@@ -267,22 +267,16 @@
if (a > b && c > d)
return;
anychange = 1;
- 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 (mflag && firstchange == 0) {
+ if(mode) {
+ buf[0] = '-';
+ buf[1] = mode;
+ buf[2] = ' ';
+ buf[3] = '\0';
+ } else {
+ buf[0] = '\0';
}
- 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';
@@ -343,6 +337,15 @@
if(i<nchanges)
return i+1;
return nchanges;
+}
+
+void
+fileheader(void)
+{
+ if(mode != 'u')
+ return;
+ Bprint(&stdout, "--- %s\n", file1);
+ Bprint(&stdout, "+++ %s\n", file2);
}
void
--- a/sys/src/cmd/diff/diffreg.c
+++ b/sys/src/cmd/diff/diffreg.c
@@ -285,6 +285,7 @@
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)