commit 8d59405ae01449e60e9aeb665de664467ee067fd
Author:     Roberto E. Vargas Caballero <k...@shike2.com>
AuthorDate: Sun Mar 4 14:06:24 2018 +0100
Commit:     sin <s...@2f30.org>
CommitDate: Tue Jul 3 09:31:46 2018 +0100

    Move join() to use String type

diff --git a/ed.c b/ed.c
index 5d85b52..8951d4b 100644
--- a/ed.c
+++ b/ed.c
@@ -833,22 +833,22 @@ join(void)
 {
        int i;
        char *t, c;
-       size_t len = 0, cap = 0;
-       static char *s;
+       static String s;
 
-       free(s);
-       for (s = NULL, i = line1;; i = nextln(i)) {
+       free(s.str);
+       s.siz = s.cap = 0;
+       for (i = line1;; i = nextln(i)) {
                for (t = gettxt(i); (c = *t) != '\n'; ++t)
-                       s = addchar(*t, s, &cap, &len);
+                       addchar_(*t, &s);
                if (i == line2)
                        break;
        }
 
-       s = addchar('\n', s, &cap, &len);
-       s = addchar('\0', s, &cap, &len);
+       addchar_('\n', &s);
+       addchar_('\0', &s);
        delete(line1, line2);
-       inject(s, 1);
-       free(s);
+       inject(s.str, 1);
+       free(s.str);
 }
 
 static void

Reply via email to