Activated Jon's attachment system by default and steamlined it.
[mmh] / uip / send.c
index 8163385..eb140c9 100644 (file)
@@ -77,11 +77,7 @@ static struct swit switches[] = {
        { "server host", 6 },
 #define SNOOPSW  31
        { "snoop", 5 },
-#define ATTACHSW  32
-       { "attach", 6 },
-#define ATTACHFORMATSW  33
-       { "attachformat", 7 },
-#define PORTSW  34
+#define PORTSW  32
        { "port server-port-name/number" , 4 },
        { NULL, 0 }
 };
@@ -109,8 +105,6 @@ main(int argc, char **argv)
        char *msgs[MAXARGS], *vec[MAXARGS];
        struct msgs *mp;
        struct stat st;
-       char *attach = (char *)0;  /* header field name for attachments */
-       int attachformat = 0; /* mhbuild format specifier for attachments */
 #ifdef UCI
        FILE *fp;
 #endif /* UCI */
@@ -127,117 +121,98 @@ main(int argc, char **argv)
        argp = arguments;
 
        vec[vecp++] = "-library";
-       vec[vecp++] = getcpy(m_maildir(""));
+       vec[vecp++] = getcpy(toabsdir("+"));
 
        while ((cp = *argp++)) {
                if (*cp == '-') {
                        switch (smatch(++cp, switches)) {
-                               case AMBIGSW:
-                                       ambigsw(cp, switches);
-                                       done(1);
-                               case UNKWNSW:
-                                       adios(NULL, "-%s unknown\n", cp);
-
-                               case HELPSW:
-                                       snprintf(buf, sizeof(buf),
-                                                       "%s [file] [switches]",
-                                                       invo_name);
-                                       print_help(buf, switches, 1);
-                                       done(1);
-                               case VERSIONSW:
-                                       print_version(invo_name);
-                                       done(1);
-
-                               case PUSHSW:
-                                       pushsw++;
-                                       continue;
-                               case NPUSHSW:
-                                       pushsw = 0;
-                                       continue;
-
-                               case UNIQSW:
-                                       unique++;
-                                       continue;
-                               case NUNIQSW:
-                                       unique = 0;
-                                       continue;
-
-                               case FORWSW:
-                                       forwsw++;
-                                       continue;
-                               case NFORWSW:
-                                       forwsw = 0;
-                                       continue;
-
-                               case VERBSW:
-                                       verbsw++;
-                                       vec[vecp++] = --cp;
-                                       continue;
-                               case NVERBSW:
-                                       verbsw = 0;
-                                       vec[vecp++] = --cp;
-                                       continue;
-
-                               case MIMESW:
-                                       mime++;
-                                       vec[vecp++] = --cp;
-                                       continue;
-                               case NMIMESW:
-                                       mime = 0;
-                                       vec[vecp++] = --cp;
-                                       continue;
-
-                               case DEBUGSW:
-                                       debugsw++;  /* fall */
-                               case NFILTSW:
-                               case FRMTSW:
-                               case NFRMTSW:
-                               case BITSTUFFSW:
-                               case NBITSTUFFSW:
-                               case MSGDSW:
-                               case NMSGDSW:
-                               case WATCSW:
-                               case NWATCSW:
-                               case MAILSW:
-                               case SAMLSW:
-                               case SENDSW:
-                               case SOMLSW:
-                               case SNOOPSW:
-                                       vec[vecp++] = --cp;
-                                       continue;
-
-                               case ALIASW:
-                               case FILTSW:
-                               case WIDTHSW:
-                               case CLIESW:
-                               case SERVSW:
-                               case PORTSW:
-                                       vec[vecp++] = --cp;
-                                       if (!(cp = *argp++) || *cp == '-')
-                                               adios(NULL, "missing argument to %s", argp[-2]);
-                                       vec[vecp++] = cp;
-                                       continue;
-
-                               case ATTACHSW:
-                                       if (!(attach = *argp++) ||
-                                                       *attach == '-')
-                                               adios(NULL, "missing argument to %s", argp[-2]);
-                                       continue;
-
-                               case ATTACHFORMATSW:
-                                       if (! *argp || **argp == '-')
-                                               adios(NULL, "missing argument to %s", argp[-1]);
-                                       else {
-                                               attachformat = atoi(*argp);
-                                               if (attachformat < 0 ||
-                                                       attachformat > ATTACHFORMATS - 1) {
-                                                       advise(NULL, "unsupported attachformat %d",
-                                                                       attachformat);
-                                                       continue;
-                                               }
-                                       }
-                                       ++argp;
-                                       continue;
+                       case AMBIGSW:
+                               ambigsw(cp, switches);
+                               done(1);
+                       case UNKWNSW:
+                               adios(NULL, "-%s unknown\n", cp);
+
+                       case HELPSW:
+                               snprintf(buf, sizeof(buf),
+                                               "%s [file] [switches]",
+                                               invo_name);
+                               print_help(buf, switches, 1);
+                               done(1);
+                       case VERSIONSW:
+                               print_version(invo_name);
+                               done(1);
+
+                       case PUSHSW:
+                               pushsw++;
+                               continue;
+                       case NPUSHSW:
+                               pushsw = 0;
+                               continue;
+
+                       case UNIQSW:
+                               unique++;
+                               continue;
+                       case NUNIQSW:
+                               unique = 0;
+                               continue;
+
+                       case FORWSW:
+                               forwsw++;
+                               continue;
+                       case NFORWSW:
+                               forwsw = 0;
+                               continue;
+
+                       case VERBSW:
+                               verbsw++;
+                               vec[vecp++] = --cp;
+                               continue;
+                       case NVERBSW:
+                               verbsw = 0;
+                               vec[vecp++] = --cp;
+                               continue;
+
+                       case MIMESW:
+                               mime++;
+                               vec[vecp++] = --cp;
+                               continue;
+                       case NMIMESW:
+                               mime = 0;
+                               vec[vecp++] = --cp;
+                               continue;
+
+                       case DEBUGSW:
+                               debugsw++;  /* fall */
+                       case NFILTSW:
+                       case FRMTSW:
+                       case NFRMTSW:
+                       case BITSTUFFSW:
+                       case NBITSTUFFSW:
+                       case MSGDSW:
+                       case NMSGDSW:
+                       case WATCSW:
+                       case NWATCSW:
+                       case MAILSW:
+                       case SAMLSW:
+                       case SENDSW:
+                       case SOMLSW:
+                       case SNOOPSW:
+                               vec[vecp++] = --cp;
+                               continue;
+
+                       case ALIASW:
+                       case FILTSW:
+                       case WIDTHSW:
+                       case CLIESW:
+                       case SERVSW:
+                       case PORTSW:
+                               vec[vecp++] = --cp;
+                               if (!(cp = *argp++) || *cp == '-')
+                                       adios(NULL, "missing argument to %s",
+                                                       argp[-2]);
+                               vec[vecp++] = cp;
+                               continue;
+
                        }
                } else {
                        msgs[msgp++] = cp;
@@ -258,8 +233,8 @@ main(int argc, char **argv)
        }
 
        if (!msgp)
-               msgs[msgp++] = "cur";
-       maildir = m_maildir(draftfolder);
+               msgs[msgp++] = seq_cur;
+       maildir = toabsdir(draftfolder);
 
        if (chdir(maildir) == NOTOK)
                adios(maildir, "unable to change directory to");
@@ -362,14 +337,13 @@ main(int argc, char **argv)
        closefds(3);
 
        for (msgnum = 0; msgnum < msgp; msgnum++) {
-               switch (sendsbr(vec, vecp, msgs[msgnum], &st, 1, attach,
-                               attachformat)) {
-                       case DONE:
-                               done(++status);
-                       case NOTOK:
-                               status++;  /* fall */
-                       case OK:
-                               break;
+               switch (sendsbr(vec, vecp, msgs[msgnum], &st, 1)) {
+               case DONE:
+                       done(++status);
+               case NOTOK:
+                       status++;  /* fall */
+               case OK:
+                       break;
                }
        }