From: mortenp Date: Tue, 27 Apr 2004 12:51:56 +0000 (+1000) Subject: changed bounce_from_adr() to match the bounce handling X-Git-Tag: RELEASE_1_0_0~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=169d35c66bd35ec1fff1a8c58bfa6ceeb8e58ec8;p=thirdparty%2Fmlmmj.git changed bounce_from_adr() to match the bounce handling --- diff --git a/src/mlmmj-send.c b/src/mlmmj-send.c index 3f1323c2..bb6d3909 100644 --- a/src/mlmmj-send.c +++ b/src/mlmmj-send.c @@ -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);