code: plan9front

Download patch

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)