Make -attach Nmh-Attachment & -attachformat 1 the default.
[mmh] / uip / whatnowsbr.c
index 85c50b3..d23d141 100644 (file)
@@ -63,6 +63,8 @@ static struct swit whatnowswitches[] = {
     { "help", 0 },
 #define        ATTACHSW                8
     { "attach header-field-name", 0 },
+#define NOATTACHSW              9
+    { "noattach", 0 },
     { NULL, 0 }
 };
 
@@ -138,7 +140,7 @@ WhatNow (int argc, char **argv)
     char buf[BUFSIZ], prompt[BUFSIZ];
     char **argp, **arguments;
     struct stat st;
-    char       *attach = (char *)0;    /* attachment header field name */
+    char       *attach = NMH_ATTACH_HEADER;/* attachment header field name */
     char       cwd[MAXPATHLEN + 1];    /* current working directory */
     char       file[MAXPATHLEN + 1];   /* file name buffer */
     char       shell[MAXPATHLEN + 1];  /* shell response buffer */
@@ -213,11 +215,13 @@ WhatNow (int argc, char **argv)
                continue;
 
            case ATTACHSW:
-               if (attach != (char *)0)
-                   adios(NULL, "only one attachment header field name at a time!");
                if (!(attach = *argp++) || *attach == '-')
                    adios (NULL, "missing argument to %s", argp[-2]);
                continue;
+
+           case NOATTACHSW:
+               attach = NULL;
+               continue;
            }
        }
        if (drft)
@@ -696,7 +700,7 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp,
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    switch (pid = m_vfork()) {
+    switch (pid = vfork()) {
        case NOTOK:
            advise ("fork", "unable to");
            status = NOTOK;
@@ -846,7 +850,7 @@ sendfile (char **arg, char *file, int pushsw)
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    for (i = 0; (child_id = m_vfork()) == NOTOK && i < 5; i++)
+    for (i = 0; (child_id = vfork()) == NOTOK && i < 5; i++)
        sleep (5);
     switch (child_id) {
        case NOTOK:
@@ -1054,18 +1058,26 @@ static struct swit  sendswitches[] = {
     { "nodraftfolder", -3 },
 #define SASLSW           36
     { "sasl", SASLminc(-4) },
-#define SASLMECHSW       37
+#define NOSASLSW         37
+    { "nosasl", SASLminc(-6) },
+#define SASLMXSSFSW      38
+    { "saslmaxssf", SASLminc(-10) },
+#define SASLMECHSW       39
     { "saslmech", SASLminc(-5) },
-#define USERSW           38
+#define USERSW           40
     { "user", SASLminc(-4) },
-#define SNDATTACHSW       39
+#define SNDATTACHSW       41
     { "attach file", 6 },
-#define SNDATTACHFORMAT   40
+#define SNDNOATTACHSW     42
+    { "noattach", 0 },
+#define SNDATTACHFORMAT   43
     { "attachformat", 7 },
-#define PORTSW           41
+#define PORTSW           44
     { "port server-port-name/number", 4 },
-#define TLSSW            42
+#define TLSSW            45
     { "tls", TLSminc(-3) },
+#define NTLSSW            46
+    { "notls", TLSminc(-5) },
     { NULL, 0 }
 };
 
@@ -1090,8 +1102,8 @@ sendit (char *sp, char **arg, char *file, int pushed)
     char *cp, buf[BUFSIZ], **argp;
     char **arguments, *vec[MAXARGS];
     struct stat st;
-    char       *attach = (char *)0;    /* attachment header field name */
-    int                attachformat = 0;       /* mhbuild format specifier for
+    char       *attach = NMH_ATTACH_HEADER;/* attachment header field name */
+    int                attachformat = 1;       /* mhbuild format specifier for
                                           attachments */
 
 #ifndef        lint
@@ -1227,7 +1239,9 @@ sendit (char *sp, char **arg, char *file, int pushed)
                case SOMLSW:
                case SNOOPSW:
                case SASLSW:
+               case NOSASLSW:
                case TLSSW:
+               case NTLSSW:
                    vec[vecp++] = --cp;
                    continue;
 
@@ -1236,6 +1250,7 @@ sendit (char *sp, char **arg, char *file, int pushed)
                case WIDTHSW:
                case CLIESW:
                case SERVSW:
+               case SASLMXSSFSW:
                case SASLMECHSW:
                case USERSW:
                case PORTSW:
@@ -1262,6 +1277,9 @@ sendit (char *sp, char **arg, char *file, int pushed)
                        return;
                    }
                    continue;
+               case SNDNOATTACHSW:
+                   attach = NULL;
+                   continue;
 
                case SNDATTACHFORMAT:
                    if (! *argp || **argp == '-')
@@ -1349,7 +1367,7 @@ whomfile (char **arg, char *file)
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    switch (pid = m_vfork()) {
+    switch (pid = vfork()) {
        case NOTOK:
            advise ("fork", "unable to");
            return 1;