From: NeilBrown Date: Fri, 23 Aug 2013 05:29:55 +0000 (+1000) Subject: Browser: remove some more infinite loops. X-Git-Tag: v1.0~4 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=a33e63b50bfee512fd93b9839011d0894ac3b88c;p=wiggle.git Browser: remove some more infinite loops. More places where we can get confused and then spin forever. Signed-off-by: NeilBrown --- diff --git a/vpatch.c b/vpatch.c index 44043ef..001bdf2 100644 --- a/vpatch.c +++ b/vpatch.c @@ -1533,8 +1533,11 @@ static int merge_window(struct plist *p, FILE *f, int reverse, int replace, * in main pane. */ if (check_line(vispos, fm, fb, fa, ci.merger, mode) & CHANGES) { - if (vispos.state == 0) + if (vispos.state == 0) { vispos.state = 1; + vispos.lo = vispos.p; + vispos.hi = vispos.p; + } } else { vispos.state = 0; } @@ -1571,7 +1574,7 @@ static int merge_window(struct plist *p, FILE *f, int reverse, int replace, tpos, NULL); } - if (i) { + if (i > 0) { row -= (i+1); refresh = 1; goto retry;