X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frepl.c;h=97178b1f42427cc56733a72d827874e7e56942ce;hb=3a85e0bc9c72935ca9d154b3aa3093c31ed1836e;hp=67155fa5db55f8058ef4074a06c16f202b010e28;hpb=3c9700d8d045f3ff26ce5dd2a174454dafc14822;p=mmh diff --git a/uip/repl.c b/uip/repl.c index 67155fa..97178b1 100644 --- a/uip/repl.c +++ b/uip/repl.c @@ -2,10 +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[] = { @@ -62,14 +65,15 @@ static struct swit switches[] = { #define VERSIONSW 25 { "version", 0 }, #define HELPSW 26 - { "help", 4 }, + { "help", 0 }, #define FILESW 27 - { "file file", -4 }, /* interface from msh */ - -#ifdef MHE + { "file file", 4 }, /* interface from msh */ #define BILDSW 28 - { "build", -5 }, /* interface from mhe */ -#endif + { "build", 5 }, /* interface from mhe */ +#define ATFILESW 29 + { "atfile", 0 }, +#define NOATFILESW 30 + { "noatfile", 0 }, { NULL, 0 } }; @@ -108,9 +112,9 @@ static struct swit aqrl[] = { { NULL, 0 } }; -short ccto = 1; /* global for replsbr */ -short cccc = 1; -short ccme = 1; +short ccto = -1; /* global for replsbr */ +short cccc = -1; +short ccme = -1; short querysw = 0; short outputlinelen = OUTPUTLINELEN; @@ -134,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]; @@ -142,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, ""); @@ -214,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; @@ -308,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!"); @@ -323,6 +331,13 @@ main (int argc, char **argv) } } + if (ccto == -1) + ccto = groupreply; + if (cccc == -1) + cccc = groupreply; + if (ccme == -1) + ccme = groupreply; + cwd = getcpy (pwd ()); if (!context_find ("path")) @@ -332,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))) @@ -428,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