ed: remove infinite loops in join() and getindex()
diff --git a/ed.c b/ed.c
index 582a5a2..c4cce37 100644
--- a/ed.c
+++ b/ed.c
@@ -192,7 +192,9 @@
struct hline *lp;
int n;
- for (n = 0, lp = zero; n != line; ++n)
+ if (line == -1)
+ line = 0;
+ for (n = 0, lp = zero; n != line; n++)
lp = zero + lp->next;
return lp - zero;
@@ -806,9 +808,11 @@
static char *s;
free(s);
- for (s = NULL, i = line1; i <= line2; i = nextln(i)) {
+ for (s = NULL, i = line1;; i = nextln(i)) {
for (t = gettxt(i); (c = *t) != '\n'; ++t)
s = addchar(*t, s, &cap, &len);
+ if (i == line2)
+ break;
}
s = addchar('\n', s, &cap, &len);