X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Frepl.c;h=db41ebba6fbf3cb1e5812c1ef77164a6313f5b7f;hb=337338b404931f06f0db2119c9e145e8ca5a9860;hp=7a9384bb6fab74fd0b0a2ed13278948940409eb6;hpb=a485ed478abbd599d8c9aab48934e7a26733ecb1;p=mmh diff --git a/uip/repl.c b/uip/repl.c index 7a9384b..db41ebb 100644 --- a/uip/repl.c +++ b/uip/repl.c @@ -23,53 +23,47 @@ static struct swit switches[] = { { "cc all|to|cc|me", 0 }, #define NCCSW 5 { "nocc type", 0 }, -#define DFOLDSW 6 - { "draftfolder +folder", 0 }, -#define DMSGSW 7 - { "draftmessage msg", 0 }, -#define NDFLDSW 8 - { "nodraftfolder", 0 }, -#define EDITRSW 9 +#define EDITRSW 6 { "editor editor", 0 }, -#define NEDITSW 10 +#define NEDITSW 7 { "noedit", 0 }, -#define FCCSW 11 +#define FCCSW 8 { "fcc folder", 0 }, -#define FILTSW 12 +#define FILTSW 9 { "filter filterfile", 0 }, -#define FORMSW 13 +#define FORMSW 10 { "form formfile", 0 }, -#define FRMTSW 14 +#define FRMTSW 11 { "format", 5 }, -#define NFRMTSW 15 +#define NFRMTSW 12 { "noformat", 7 }, -#define INPLSW 16 +#define INPLSW 13 { "inplace", 0 }, -#define NINPLSW 17 +#define NINPLSW 14 { "noinplace", 0 }, -#define MIMESW 18 +#define MIMESW 15 { "mime", 0 }, -#define NMIMESW 19 +#define NMIMESW 16 { "nomime", 0 }, -#define QURYSW 20 +#define QURYSW 17 { "query", 0 }, -#define NQURYSW 21 +#define NQURYSW 18 { "noquery", 0 }, -#define WHATSW 22 +#define WHATSW 19 { "whatnowproc program", 0 }, -#define NWHATSW 23 +#define NWHATSW 20 { "nowhatnowproc", 0 }, -#define WIDTHSW 24 +#define WIDTHSW 21 { "width columns", 0 }, -#define VERSIONSW 25 +#define VERSIONSW 22 { "version", 0 }, -#define HELPSW 26 +#define HELPSW 23 { "help", 0 }, -#define FILESW 27 +#define FILESW 24 { "file file", 4 }, /* interface from msh */ #ifdef MHE -#define BILDSW 28 +#define BILDSW 25 { "build", 5 }, /* interface from mhe */ #endif @@ -88,28 +82,6 @@ static struct swit ccswitches[] = { { NULL, 0 } }; -static struct swit aqrnl[] = { -#define NOSW 0 - { "quit", 0 }, -#define YESW 1 - { "replace", 0 }, -#define LISTDSW 2 - { "list", 0 }, -#define REFILSW 3 - { "refile +folder", 0 }, -#define NEWSW 4 - { "new", 0 }, - { NULL, 0 } -}; - -static struct swit aqrl[] = { - { "quit", 0 }, - { "replace", 0 }, - { "list", 0 }, - { "refile +folder", 0 }, - { NULL, 0 } -}; - short ccto = -1; /* global for replsbr */ short cccc = -1; short ccme = -1; @@ -133,15 +105,13 @@ void docc (char *, int); int main (int argc, char **argv) { - int i, isdf = 0; int anot = 0, inplace = 1; int nedit = 0, nwhat = 0; char *cp, *cwd, *dp, *maildir, *file = NULL; - char *folder = NULL, *msg = NULL, *dfolder = NULL; - char *dmsg = NULL, *ed = NULL, drft[BUFSIZ], buf[BUFSIZ]; + char *folder = NULL, *msg = NULL; + char *ed = NULL, drft[BUFSIZ], buf[BUFSIZ]; char **argp, **arguments; struct msgs *mp = NULL; - struct stat st; FILE *in; #ifdef MHE @@ -291,25 +261,6 @@ main (int argc, char **argv) if ((outputlinelen = atoi (cp)) < 10) adios (NULL, "impossible width %d", outputlinelen); continue; - - case DFOLDSW: - if (dfolder) - adios (NULL, "only one draft folder at a time!"); - if (!(cp = *argp++) || *cp == '-') - adios (NULL, "missing argument to %s", argp[-2]); - dfolder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp, - *cp != '@' ? TFOLDER : TSUBCWF); - continue; - case DMSGSW: - if (dmsg) - adios (NULL, "only one draft message at a time!"); - if (!(dmsg = *argp++) || *dmsg == '-') - adios (NULL, "missing argument to %s", argp[-2]); - continue; - case NDFLDSW: - dfolder = NULL; - isdf = NOTOK; - continue; } } if (*cp == '+' || *cp == '@') { @@ -339,45 +290,12 @@ main (int argc, char **argv) if (file && (msg || folder)) adios (NULL, "can't mix files and folders/msgs"); -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) { + : m_draft("new"), sizeof(drft)); #else - strncpy (drft, m_draft (dfolder, dmsg, NOUSE, &isdf), sizeof(drft)); - - /* Check if a draft exists */ - if (stat (drft, &st) != NOTOK) { + strncpy (drft, m_draft("new"), sizeof(drft)); #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))) - done (1); - switch (i = smatch (*argp, isdf ? aqrnl : aqrl)) { - case NOSW: - done (0); - case NEWSW: - dmsg = NULL; - goto try_it_again; - case YESW: - break; - case LISTDSW: - showfile (++argp, drft); - break; - case REFILSW: - if (refile (++argp, drft) == 0) - i = YESW; - break; - default: - advise (NULL, "say what?"); - break; - } - } - } if (file) { /*