X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1691e80890e5d8ba258c51c214a3e91880e1db2b..bb8a255634719c63cfae1ee4d0fb12f056efa71b:/sbr/m_draft.c diff --git a/sbr/m_draft.c b/sbr/m_draft.c index 712e173d..683af25c 100644 --- a/sbr/m_draft.c +++ b/sbr/m_draft.c @@ -1,52 +1,44 @@ - -/* - * m_draft.c -- construct the name of a draft message +/* 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 - -extern int errno; +#include +#include "m_maildir.h" 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); /*