]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
changed bounce_from_adr() to match the bounce handling
authormortenp <none@none>
Tue, 27 Apr 2004 12:51:56 +0000 (22:51 +1000)
committermortenp <none@none>
Tue, 27 Apr 2004 12:51:56 +0000 (22:51 +1000)
src/mlmmj-send.c

index 3f1323c25e1e8718bc9f1772dc5a76eeff63f5b2..bb6d39095bcf1b804c09850eca89449c25ba21e1 100644 (file)
@@ -41,7 +41,11 @@ static char *bounce_from_adr(char *recipient, char *listadr, char *mailfilename)
        size_t len;
 
        indexstr = strrchr(mailfilename, '/');
-       if (!indexstr) indexstr = mailfilename;
+       if (indexstr) {
+               indexstr++;  /* skip the slash */
+       } else {
+               indexstr = mailfilename;
+       }
 
        recipient = strdup(recipient);
        if (!recipient) {
@@ -63,16 +67,17 @@ static char *bounce_from_adr(char *recipient, char *listadr, char *mailfilename)
        }
        *listdomain++ = '\0';
 
-       /* 11 = "-bounces" + RECIPDELIM + "@" + NUL */
-       len = strlen(listadr) + strlen(recipient) + strlen(listdomain) + 11;
+       /* 12 = RECIPDELIM + "bounces-" + "-" + "@" + NUL */
+       len = strlen(listadr) + strlen(recipient) + strlen(indexstr)
+                + strlen(listdomain) + 12;
        bounce_adr = malloc(len);
        if (!bounce_adr) {
                free(recipient);
                free(listadr);
                return NULL;
        }
-       snprintf(bounce_adr, len, "%s-bounces%c%s@%s", listadr, RECIPDELIM,
-                recipient, listdomain);
+       snprintf(bounce_adr, len, "%s%cbounces-%s-%s@%s", listadr, RECIPDELIM,
+                recipient, indexstr, listdomain);
 
        free(recipient);
        free(listadr);