X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..6db45651:/uip/mhstoresbr.c?ds=inline diff --git a/uip/mhstoresbr.c b/uip/mhstoresbr.c index 21ab2ef8..2bc78ceb 100644 --- a/uip/mhstoresbr.c +++ b/uip/mhstoresbr.c @@ -10,9 +10,13 @@ #include #include #include +#include #include #include #include +#include "mhshowsbr.h" +#include "../sbr/m_maildir.h" +#include "../sbr/m_mktemp.h" enum clobber_policy_t { NMH_CLOBBER_ALWAYS = 0, @@ -364,20 +368,21 @@ store_partial (CT ct, mhstoreinfo_t info) for (ctq = base; *ctq; ctq++) { p = *ctq; pm = (struct partial *) p->c_ctparams; - if (pm->pm_marked != cur) { - if (pm->pm_marked == cur - 1) { - inform("duplicate part %d of %d part multipart message, continuing...", - pm->pm_marked, hi); - continue; - } + if (pm->pm_marked == cur) { + cur++; + continue; + } + + if (pm->pm_marked == cur - 1) { + inform("duplicate part %d of %d part multipart message, continuing...", + pm->pm_marked, hi); + continue; + } missing_part: - inform("missing %spart %d of %d part multipart message", - cur != hi ? "(at least) " : "", cur, hi); - goto losing; - } - else - cur++; + inform("missing %spart %d of %d part multipart message", + cur != hi ? "(at least) " : "", cur, hi); + goto losing; } if (hi != --cur) { cur = hi; @@ -946,7 +951,9 @@ parse_format_string (CT ct, char *cp, char *buffer, int buflen, char *dir) * appropriate directory. */ if (*cp != '/' && *cp != '|' && *cp != '!') { - snprintf (bp, buflen, "%s/", dir[1] ? dir : ""); + if (!strcmp(dir, "/")) + dir = ""; /* Don't start with "//". */ + snprintf (bp, buflen, "%s/", dir); len = strlen (bp); bp += len; buflen -= len; @@ -967,7 +974,8 @@ parse_format_string (CT ct, char *cp, char *buffer, int buflen, char *dir) *bp = '\0'; buflen--; continue; - } else { + } + { PM pm; char *s = ""; @@ -994,7 +1002,7 @@ parse_format_string (CT ct, char *cp, char *buffer, int buflen, char *dir) break; case 'p': - /* insert part number withouth leading dot */ + /* insert part number without leading dot */ if (ct->c_partno) strncpy (bp, ct->c_partno, buflen); break;