X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frepl.c;h=97178b1f42427cc56733a72d827874e7e56942ce;hb=02e25280094d8245772acf03396fe31c278ea337;hp=b1c0782f0381ca8a4be2ce8242f1f30ebfcb8536;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68;p=mmh diff --git a/uip/repl.c b/uip/repl.c index b1c0782..97178b1 100644 --- a/uip/repl.c +++ b/uip/repl.c @@ -2,14 +2,13 @@ /* * repl.c -- reply to a 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 static struct swit switches[] = { @@ -69,11 +68,12 @@ static struct swit switches[] = { { "help", 0 }, #define FILESW 27 { "file file", 4 }, /* interface from msh */ - -#ifdef MHE #define BILDSW 28 { "build", 5 }, /* interface from mhe */ -#endif +#define ATFILESW 29 + { "atfile", 0 }, +#define NOATFILESW 30 + { "noatfile", 0 }, { NULL, 0 } }; @@ -138,6 +138,7 @@ main (int argc, char **argv) int i, isdf = 0; int anot = 0, inplace = 1; int nedit = 0, nwhat = 0; + int atfile = 1; char *cp, *cwd, *dp, *maildir, *file = NULL; char *folder = NULL, *msg = NULL, *dfolder = NULL; char *dmsg = NULL, *ed = NULL, drft[BUFSIZ], buf[BUFSIZ]; @@ -146,9 +147,7 @@ main (int argc, char **argv) struct stat st; FILE *in; -#ifdef MHE int buildsw = 0; -#endif /* MHE */ #ifdef LOCALE setlocale(LC_ALL, ""); @@ -218,10 +217,8 @@ main (int argc, char **argv) adios (NULL, "missing argument to %s", argp[-2]); nwhat = 0; continue; -#ifdef MHE case BILDSW: buildsw++; /* fall... */ -#endif /* MHE */ case NWHATSW: nwhat++; continue; @@ -312,13 +309,20 @@ main (int argc, char **argv) dfolder = NULL; isdf = NOTOK; continue; + + case ATFILESW: + atfile++; + continue; + case NOATFILESW: + atfile = 0; + continue; } } if (*cp == '+' || *cp == '@') { if (folder) adios (NULL, "only one folder at a time!"); else - folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF); + folder = pluspath (cp); } else { if (msg) adios (NULL, "only one message at a time!"); @@ -343,18 +347,11 @@ main (int argc, char **argv) try_it_again: -#ifdef MHE strncpy (drft, buildsw ? m_maildir ("reply") : m_draft (dfolder, NULL, NOUSE, &isdf), sizeof(drft)); /* Check if a draft exists */ if (!buildsw && stat (drft, &st) != NOTOK) { -#else - strncpy (drft, m_draft (dfolder, dmsg, NOUSE, &isdf), sizeof(drft)); - - /* Check if a draft exists */ - if (stat (drft, &st) != NOTOK) { -#endif /* MHE */ printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size); for (i = LISTDSW; i != YESW;) { if (!(argp = getans ("\nDisposition? ", isdf ? aqrnl : aqrl))) @@ -439,9 +436,10 @@ try_it_again: if (nwhat) done (0); - what_now (ed, nedit, NOUSE, drft, msg, 0, mp, + what_now (ed, nedit, NOUSE, drft, atfile ? msg : NULL, 0, mp, anot ? "Replied" : NULL, inplace, cwd); - return done (1); + done (1); + return 1; } void