commit cd9b149c8f8f37773ddd6ab9a9bd7b49b2ddaafe parent ebf740f96244497b003b65e56a4f147b7f7b956a Author: Roberto E. Vargas Caballero <k0ga@shike2.com> Date: Sun, 4 Mar 2018 17:10:17 +0100 Use nextln() in scroll() Diffstat:
M | ed.c | | | 14 | ++++++++++---- |
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git 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