]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
concatstr: remove, all use case has been replaced
authorBaptiste Daroussin <bapt@FreeBSD.org>
Mon, 6 Mar 2023 21:15:09 +0000 (22:15 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Mon, 6 Mar 2023 21:15:09 +0000 (22:15 +0100)
include/strgen.h
src/gethdrline.c
src/send_digest.c
src/strgen.c

index 23a34229bb0c8b83c6f06c8bae1810f5ac35925e..a707e1157576a4be176e664b8766b440a054fc21 100644 (file)
@@ -30,7 +30,6 @@ char *random_str(void);
 char *random_plus_addr(const char *addr);
 char *genlistname(const char *listaddr);
 char *genlistfqdn(const char *listaddr);
-char *concatstr(int count, ...);
 char *hostnamestr(void);
 char *mydirname(const char *path);
 const char *mybasename(const char *path);
index 4eeec7c3f72dfdc5f9947a22f09eca9203be11eb..b3c95f2d15a1747abe5016244378445cadc266ad 100644 (file)
@@ -96,13 +96,15 @@ char *gethdrline(int fd, char **unfolded)
 
                if (unfolded != NULL) {
                        oldunfolded = *unfolded;
-                       *unfolded = concatstr(2, oldunfolded, line);
+                       xasprintf(unfolded, "%s%s",
+                           oldunfolded != NULL ? oldunfolded : "", line);
                        free(oldunfolded);
                }
 
                chomp(line);
                oldretstr = retstr;
-               retstr = concatstr(2, oldretstr, line);
+               xasprintf(&retstr, "%s%s",
+                   oldretstr != NULL ? oldretstr : "", line);
                free(oldretstr);
 
                free(line);
index 0f6f2595c842a892c8385349e6dcab2cd964d021..3909d18ae0c7d787b099ad17c0e0fa157dff586c 100644 (file)
@@ -87,7 +87,7 @@ static void rewind_thread_list(void * state)
 {
        thread_list_state *s = (thread_list_state *)state;
        int i, j, archivefd, thread_idx;
-       char *line, *tmp, *subj, *from;
+       char *line, *tmp, *subj, *from, *tmpfrom;
        char *archivename;
        int num_threads = 0;
        struct thread *threads = NULL;
@@ -101,10 +101,7 @@ static void rewind_thread_list(void * state)
        }
 
        for (i=s->firstindex; i<=s->lastindex; i++) {
-
-               snprintf(buf, sizeof(buf), "%d", i);
-
-               archivename = concatstr(3, s->listdir, "/archive/", buf);
+               xasprintf(&archivename, "%s/archive/%d", s->listdir, i);
                archivefd = open(archivename, O_RDONLY);
                free(archivename);
 
@@ -159,7 +156,7 @@ static void rewind_thread_list(void * state)
                        num_threads++;
                        threads = xrealloc(threads,
                                        num_threads*sizeof(struct thread));
-                       threads[num_threads-1].subject = concatstr(2,tmp,"\n");
+                       xasprintf(&(threads[num_threads-1].subject), "%s\n", tmp);
                        threads[num_threads-1].num_mails = 0;
                        threads[num_threads-1].mails = NULL;
                        thread_idx = num_threads-1;
@@ -179,8 +176,8 @@ static void rewind_thread_list(void * state)
                threads[thread_idx].mails = xrealloc(threads[thread_idx].mails,
                                threads[thread_idx].num_mails*sizeof(struct mail));
                threads[thread_idx].mails[threads[thread_idx].num_mails-1].idx = i;
-               threads[thread_idx].mails[threads[thread_idx].num_mails-1].from =
-                               concatstr(5, "      ", buf, " - ", tmp, "\n");
+               xasprintf(&tmpfrom, "      %s - %s\n", buf, tmp);
+               threads[thread_idx].mails[threads[thread_idx].num_mails-1].from = tmpfrom;
 
                free(subj);
                free(from);
@@ -323,7 +320,7 @@ int send_digest(struct ml *ml, int firstindex, int lastindex,
        len++;
        if (strncasecmp(line, "Subject:", len) == 0) {
                tmp = unistr_utf8_to_header(tmp);
-               subject = concatstr(2, "Subject: ", tmp);
+               xasprintf(&subject, "Subject: %s", tmp);
                free(tmp);
                free(line);
 
index 79efe2707fc1c872879eb4f7e947d1a72b900e92..ee5093c076428e5fe4dad49a7ed1e6f6482fe92a 100644 (file)
@@ -66,38 +66,6 @@ char *genlistfqdn(const char *listaddr)
        return (xstrdup(atsign + 1));
 }
 
-char *concatstr(int count, ...)
-{
-       va_list arg;
-        const char *str;
-        int i;
-        size_t len = 0;
-        char *retstr;
-
-        va_start(arg, count);
-
-        for(i = 0; i < count; i++) {
-                str = va_arg(arg, const char *);
-                if(str)
-                        len += strlen(str);
-        }
-
-        retstr = xmalloc(len + 1);
-        retstr[0] = retstr[len] = 0;
-
-        va_start(arg, count);
-
-        for(i = 0; i < count; i++) {
-                str = va_arg(arg, const char *);
-                if(str)
-                        strcat(retstr, str);
-        }
-
-        va_end(arg);
-
-        return retstr;
-}
-
 char *hostnamestr(void)
 {
        struct hostent *hostlookup;