Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jun 2010 00:29:31 GMT
From:      Benjamin Fiedler <bfiedler@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 179668 for review
Message-ID:  <201006160029.o5G0TVmK000379@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@179668?ac=10

Change 179668 by bfiedler@freebsd-7803 on 2010/06/16 00:28:45

	Change implementation of 'B' flag again. It is still not 100% working

Affected files ...

.. //depot/projects/soc2010/bsdtextproc/diff/diffreg.c#5 edit

Differences ...

==== //depot/projects/soc2010/bsdtextproc/diff/diffreg.c#5 (text+ko) ====

@@ -801,22 +801,29 @@
 						d = getc(f2);
 						ctnew++;
 					}
+
 				} else if (Bflag) {
-					while( c == '\n' && d != '\n' ) {
-						c = getc(f1);
-				                ixold[i] = ctold;
-						ixnew[j] = ctnew;
-               					j++; i++;
-						if( i == len[0] || j == len[1] ) { break; }
+					if( c == '\n' && d != '\n') {
+
+						do {
+							if (c == '\n') {
+							      ixold[i] = ctold; 
+							      i++;
+							}
+
+						} while ((c = getc(f1)) == '\n' && i <= len[0]);
 					}
+
+					if( d == '\n' && c != '\n') {
+						do {
+							if (d == '\n') {
+								ixnew[j] = ctnew;
+								j++;
+							}
+						} while ((d = getc(f2)) == '\n' && j <= len[1]);
 		
-					while( d == '\n' && c != '\n') {
-						d = getc(f2);
-						ixold[i] = ctold;
-                                                ixnew[j] = ctnew;
-						j++; i++;
-						if( i == len[0] || j == len[1] ) { break; }
 					}
+			
 					break;
 				}
 				if (chrtran[c] != chrtran[d]) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006160029.o5G0TVmK000379>