{ "version", 0 },
#define HELPSW 16
{ "help", 0 },
-#define FILESW 17
- { "file file", 4 }, /* interface from msh */
#ifdef MHE
-#define BILDSW 18
+#define BILDSW 17
{ "build", 5 }, /* interface from mhe */
#endif /* MHE */
int out, msgnum;
char *cp, *cwd, *maildir;
char *digest = NULL, *ed = NULL;
- char *file = NULL, *filter = NULL, *folder = NULL;
+ char *filter = NULL, *folder = NULL;
char *form = NULL, buf[BUFSIZ], value[10];
char **argp, **arguments, *msgs[MAXARGS];
nwhat++;
continue;
- case FILESW:
- if (file)
- adios(NULL, "only one file at a time!");
- if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- file = getcpy(expanddir(cp));
- continue;
case FILTSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
cwd = getcpy(pwd());
- if (file && (msgp || folder))
- adios(NULL, "can't mix files and folders/msgs");
-
#ifdef MHE
strncpy(drft, buildsw ? toabsdir("draft")
: m_draft(seq_beyond), sizeof(drft));
strncpy(drft, m_draft(seq_beyond), sizeof(drft));
#endif /* MHE */
- if (file) {
- /*
- ** Forwarding a file.
- */
- anot = 0; /* don't want to annotate a file */
- } else {
- /*
- ** Forwarding a message.
- */
- if (!msgp)
- msgs[msgp++] = seq_cur;
- if (!folder)
- folder = getcurfol();
- maildir = toabsdir(folder);
-
- if (chdir(maildir) == NOTOK)
- adios(maildir, "unable to change directory to");
-
- /* read folder and create message structure */
- if (!(mp = folder_read(folder)))
- adios(NULL, "unable to read folder %s", folder);
-
- /* check for empty folder */
- if (mp->nummsg == 0)
- adios(NULL, "no messages in %s", folder);
-
- /* parse all the message ranges/sequences and set SELECTED */
- for (msgnum = 0; msgnum < msgp; msgnum++)
- if (!m_convert(mp, msgs[msgnum]))
- done(1);
- seq_setprev(mp); /* set the previous sequence */
- }
+ /*
+ ** Forwarding a message.
+ */
+ if (!msgp)
+ msgs[msgp++] = seq_cur;
+ if (!folder)
+ folder = getcurfol();
+ maildir = toabsdir(folder);
+
+ if (chdir(maildir) == NOTOK)
+ adios(maildir, "unable to change directory to");
+
+ /* read folder and create message structure */
+ if (!(mp = folder_read(folder)))
+ adios(NULL, "unable to read folder %s", folder);
+
+ /* check for empty folder */
+ if (mp->nummsg == 0)
+ adios(NULL, "no messages in %s", folder);
+
+ /* parse all the message ranges/sequences and set SELECTED */
+ for (msgnum = 0; msgnum < msgp; msgnum++)
+ if (!m_convert(mp, msgs[msgnum]))
+ done(1);
+ seq_setprev(mp); /* set the previous sequence */
if (filter && access(filter, R_OK) == NOTOK)
adios(filter, "unable to read");
- /*
- ** Open form (component) file.
- */
+ /* Open form (component) file. */
if (digest) {
if (issue == 0) {
snprintf(buf, sizeof(buf), IFORMAT, digest);
cpydata(in, out, form, drft);
close(in);
- if (file) {
- /* just copy the file into the draft */
- if ((in = open(file, O_RDONLY)) == NOTOK)
- adios(file, "unable to open");
- cpydata(in, out, file, drft);
- close(in);
+ /*
+ ** If filter file is defined, then format the
+ ** messages into the draft using mhlproc.
+ */
+ if (filter) {
+ mhl_draft(out, digest, volume, issue, drft, filter);
+ close(out);
+ } else if (mime) {
close(out);
+ add_forw_hdr(drft);
} else {
- /*
- ** If filter file is defined, then format the
- ** messages into the draft using mhlproc.
- */
- if (filter) {
- mhl_draft(out, digest, volume, issue, drft, filter);
- close(out);
- } else if (mime) {
- close(out);
- add_forw_hdr(drft);
- } else {
- copy_draft(out, digest, drft, volume, issue);
- close(out);
- }
-
- if (digest) {
- snprintf(buf, sizeof(buf), IFORMAT, digest);
- snprintf(value, sizeof(value), "%d", issue);
- context_replace(buf, getcpy(value));
- snprintf(buf, sizeof(buf), VFORMAT, digest);
- snprintf(value, sizeof(value), "%d", volume);
- context_replace(buf, getcpy(value));
- }
+ copy_draft(out, digest, drft, volume, issue);
+ close(out);
+ }
- context_replace(curfolder, folder); /* update current folder */
- seq_setcur(mp, mp->lowsel); /* update current message */
- seq_save(mp); /* synchronize sequences */
- context_save(); /* save the context file */
+ if (digest) {
+ snprintf(buf, sizeof(buf), IFORMAT, digest);
+ snprintf(value, sizeof(value), "%d", issue);
+ context_replace(buf, getcpy(value));
+ snprintf(buf, sizeof(buf), VFORMAT, digest);
+ snprintf(value, sizeof(value), "%d", volume);
+ context_replace(buf, getcpy(value));
}
+ context_replace(curfolder, folder); /* update current folder */
+ seq_setcur(mp, mp->lowsel); /* update current message */
+ seq_save(mp); /* synchronize sequences */
+ context_save(); /* save the context file */
+
if (nwhat)
done(0);
what_now(ed, nedit, NOUSE, drft, NULL, 0, mp,