History

Plan 9 from Bell Labs Fourth Edition 2005-01-29

David du Colombier committed 21 years ago

Commit 27e10911 parent 1b13ae89 files · +62 −26Browse files

Showing the changes to sys/src/cmd/diff/diffio.c (1 of 9 files). Show all

Unified · Split

sys/src/cmd/diff/diffio.c+22−6
@@ -302,6 +302,7 @@ change(int a, int b, int c, int d) · 301 unmodified lines
302 range(a, b, " ");302 range(a, b, " ");
303 break;303 break;
304 case 'c':304 case 'c':
305 case 'a':
305 if(nchanges%1024 == 0)306 if(nchanges%1024 == 0)
306 changes = erealloc(changes, (nchanges+1024)*sizeof(changes[0]));307 changes = erealloc(changes, (nchanges+1024)*sizeof(changes[0]));
307 ch = &changes[nchanges++];308 ch = &changes[nchanges++];
@@ -348,24 +349,39 @@ flushchanges(void) · 40 unmodified lines
348 349
349 for(i=0; i<nchanges; ){350 for(i=0; i<nchanges; ){
350 j = changeset(i);351 j = changeset(i);
351 a = changes[i].a;352 a = changes[i].a-Lines;
352 b = changes[j-1].b;353 b = changes[j-1].b+Lines;
353 c = changes[i].c;354 c = changes[i].c-Lines;
354 d = changes[j-1].d;355 d = changes[j-1].d+Lines;
356 if(a < 1)
357 a = 1;
358 if(c < 1)
359 c = 1;
360 if(b > len[0])
361 b = len[0];
362 if(d > len[1])
363 d = len[1];
364 if(mode == 'a'){
365 a = 1;
366 b = len[0];
367 c = 1;
368 d = len[1];
369 j = nchanges;
370 }
355 Bprint(&stdout, "%s:", file1);371 Bprint(&stdout, "%s:", file1);
356 range(a, b, ",");372 range(a, b, ",");
357 Bprint(&stdout, " - ");373 Bprint(&stdout, " - ");
358 Bprint(&stdout, "%s:", file2);374 Bprint(&stdout, "%s:", file2);
359 range(c, d, ",");375 range(c, d, ",");
360 Bputc(&stdout, '\n');376 Bputc(&stdout, '\n');
361 at = a-Lines;377 at = a;
362 for(; i<j; i++){378 for(; i<j; i++){
363 fetch(ixold, at, changes[i].a-1, input[0], " ");379 fetch(ixold, at, changes[i].a-1, input[0], " ");
364 fetch(ixold, changes[i].a, changes[i].b, input[0], "< ");380 fetch(ixold, changes[i].a, changes[i].b, input[0], "< ");
365 fetch(ixnew, changes[i].c, changes[i].d, input[1], "> ");381 fetch(ixnew, changes[i].c, changes[i].d, input[1], "> ");
366 at = changes[i].b+1;382 at = changes[i].b+1;
367 }383 }
368 fetch(ixold, at, b+Lines, input[0], " ");384 fetch(ixold, at, b, input[0], " ");
369 }385 }
370 nchanges = 0;386 nchanges = 0;
371}387}