shithub: front

Download patch

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;
--