X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/4885712264980e6cbc2039f9158027bee9213475..60052b95778a065760a437859ee9b8a1cc4e39a9:/sbr/m_draft.c diff --git a/sbr/m_draft.c b/sbr/m_draft.c index 7aea6f01..7af50581 100644 --- a/sbr/m_draft.c +++ b/sbr/m_draft.c @@ -2,53 +2,44 @@ /* * m_draft.c -- construct the name of a draft message * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. */ #include -#include +#include char * m_draft (char *folder, char *msg, int use, int *isdf) { - register char *cp; - register struct msgs *mp; - struct stat st; + char *cp; + struct msgs *mp; static char buffer[BUFSIZ]; if (*isdf == -1 || folder == NULL || *folder == '\0') { if (*isdf == -1 || (cp = context_find ("Draft-Folder")) == NULL) { *isdf = 0; return m_maildir (msg && *msg ? msg : draft); - } else { - folder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp, - *cp != '@' ? TFOLDER : TSUBCWF); } + + folder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp, + *cp != '@' ? TFOLDER : TSUBCWF); } *isdf = 1; - chdir (m_maildir ("")); - strncpy (buffer, m_maildir (folder), sizeof(buffer)); - if (stat (buffer, &st) == -1) { - if (errno != ENOENT) - adios (buffer, "error on folder"); - cp = concat ("Create folder \"", buffer, "\"? ", NULL); - if (!getanswer (cp)) - done (0); - free (cp); - if (!makedir (buffer)) - adios (NULL, "unable to create folder %s", buffer); + if (chdir (m_maildir ("")) < 0) { + advise (m_maildir (""), "chdir"); } + strncpy (buffer, m_maildir (folder), sizeof(buffer)); + + create_folder (buffer, 0, done); if (chdir (buffer) == -1) adios (buffer, "unable to change directory to"); - if (!(mp = folder_read (folder))) + if (!(mp = folder_read (folder, 1))) adios (NULL, "unable to read folder %s", folder); /*