ref: 0136b08a108903676b81f1a41f82366551986165
parent: c409b9127d903a9dfe21f64385ed6a914992e501
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Jul 29 20:42:51 EDT 2024
merge3: fix exit conditions -- l, r are never nil
--- a/sys/src/cmd/diff/merge3.c
+++ b/sys/src/cmd/diff/merge3.c
@@ -117,7 +117,7 @@
rx = (rc->oldx < rc->oldy) ? rc->oldx : rc->oldy;
ry = (rc->oldx < rc->oldy) ? rc->oldy : rc->oldx;
}
- if(l != nil && r != nil && overlaps(lx, ly, rx, ry)){
+ if(lc != nil && rc != nil && overlaps(lx, ly, rx, ry)){
/*
* align the edges of the chunks
*/
@@ -160,12 +160,12 @@
ln = y+1;
il++;
ir++;
- }else if(rc == nil || (lc != nil && lx < rx)){
+ }else if(lc != nil && (rc == nil || lx < rx)){
fetch(l, l->ixold, ln, lc->oldx-1, l->input[0], "");
fetch(l, l->ixnew, lc->newx, lc->newy, l->input[1], "");
ln = lc->oldy+1;
il++;
- }else if(lc == nil || (rc != nil && rx < lx)){
+ }else if(rc != nil && (lc == nil || rx < lx)){
fetch(l, l->ixold, ln, rc->oldx-1, l->input[0], "");
fetch(r, r->ixnew, rc->newx, rc->newy, r->input[1], "");
ln = rc->oldy+1;
--
⑨