From: "Roberto E. Vargas Caballero" <[email protected]>

---
 ed.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/ed.c b/ed.c
index 1e814e9..dbdfe60 100644
--- a/ed.c
+++ b/ed.c
@@ -841,14 +841,20 @@ join(void)
 static void
 scroll(int num)
 {
-       int i;
+       int max, ln, cnt;
 
        if (!line1 || line1 == lastln)
                error("incorrect address");
 
-       for (i = line1; i <= line1 + num && i <= lastln; ++i)
-               fputs(gettxt(i), stdout);
-       curln = i;
+       ln = line1;
+       max = line1 + num;
+       if (max > lastln)
+               max = lastln;
+       for (cnt = line1; cnt < max; cnt++) {
+               fputs(gettxt(ln), stdout);
+               ln = nextln(ln);
+       }
+       curln = ln;
 }
 
 static void
-- 
2.14.2


Reply via email to