Activated Jon's attachment system by default and steamlined it.
[mmh] / uip / whatnowsbr.c
index 8eeed10..d07c37e 100644 (file)
@@ -5,9 +5,9 @@
 ** COPYRIGHT file in the root directory of the nmh distribution for
 ** complete copyright information.
 **
 ** COPYRIGHT file in the root directory of the nmh distribution for
 ** complete copyright information.
 **
-**  Several options have been added to ease the inclusion of attachments
-**  using the header field name mechanism added to anno and send.  The
-**  -attach option is used to specify the header field name for attachments.
+**  The inclusion of attachments is eased by
+**  using the header field name mechanism added to anno and send.
+**  The header field name for attachments is predefined.
 **
 **  Several commands have been added at the whatnow prompt:
 **
 **
 **  Several commands have been added at the whatnow prompt:
 **
@@ -54,8 +54,6 @@ static struct swit whatnowswitches[] = {
        { "version", 0 },
 #define HELPSW  4
        { "help", 0 },
        { "version", 0 },
 #define HELPSW  4
        { "help", 0 },
-#define ATTACHSW  5
-       { "attach header-field-name", 0 },
        { NULL, 0 }
 };
 
        { NULL, 0 }
 };
 
@@ -128,7 +126,6 @@ WhatNow(int argc, char **argv)
        char buf[BUFSIZ], prompt[BUFSIZ];
        char **argp, **arguments;
        struct stat st;
        char buf[BUFSIZ], prompt[BUFSIZ];
        char **argp, **arguments;
        struct stat st;
-       char *attach = NULL;  /* 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 */
        char cwd[MAXPATHLEN + 1];  /* current working directory */
        char file[MAXPATHLEN + 1];  /* file name buffer */
        char shell[MAXPATHLEN + 1];  /* shell response buffer */
@@ -187,13 +184,6 @@ WhatNow(int argc, char **argv)
                                                        argp[-2]);
                                continue;
 
                                                        argp[-2]);
                                continue;
 
-                       case ATTACHSW:
-                               if (attach != NULL)
-                                       adios(NULL, "only one attachment header field name at a time!");
-                               if (!(attach = *argp++) || *attach == '-')
-                                       adios(NULL, "missing argument to %s",
-                                                       argp[-2]);
-                               continue;
                        }
                }
                if (drft)
                        }
                }
                if (drft)
@@ -344,11 +334,6 @@ WhatNow(int argc, char **argv)
                        ** -n    numbers listing
                        */
 
                        ** -n    numbers listing
                        */
 
-                       if (attach == NULL) {
-                               advise(NULL, "can't list because no header field name was given.");
-                               break;
-                       }
-
                        l = NULL;
                        n = 0;
 
                        l = NULL;
                        n = 0;
 
@@ -373,7 +358,7 @@ WhatNow(int argc, char **argv)
                                advise(NULL, "usage is alist [-ln].");
 
                        else
                                advise(NULL, "usage is alist [-ln].");
 
                        else
-                               annolist(drft, attach, l, n);
+                               annolist(drft, attach_hdr, l, n);
 
                        break;
 
 
                        break;
 
@@ -382,11 +367,6 @@ WhatNow(int argc, char **argv)
                        ** Attach files to current draft.
                        */
 
                        ** Attach files to current draft.
                        */
 
-                       if (attach == NULL) {
-                               advise(NULL, "can't attach because no header field name was given.");
-                               break;
-                       }
-
                        if (*(argp+1) == NULL) {
                                advise(NULL, "attach command requires file argument(s).");
                                break;
                        if (*(argp+1) == NULL) {
                                advise(NULL, "attach command requires file argument(s).");
                                break;
@@ -416,13 +396,15 @@ WhatNow(int argc, char **argv)
                                        *(strchr(shell, '\n')) = '\0';
 
                                        if (*shell == '/')
                                        *(strchr(shell, '\n')) = '\0';
 
                                        if (*shell == '/')
-                                               annotate(drft, attach, shell,
-                                                               1, 0, -2, 1);
+                                               annotate(drft, attach_hdr,
+                                                               shell, 1, 0,
+                                                               -2, 1);
                                        else {
                                                sprintf(file, "%s/%s", cwd,
                                                                shell);
                                        else {
                                                sprintf(file, "%s/%s", cwd,
                                                                shell);
-                                               annotate(drft, attach, file,
-                                                               1, 0, -2, 1);
+                                               annotate(drft, attach_hdr,
+                                                               file, 1, 0,
+                                                               -2, 1);
                                        }
                                }
 
                                        }
                                }
 
@@ -436,14 +418,7 @@ WhatNow(int argc, char **argv)
                case DETACHCMDSW:
                        /*
                        ** Detach files from current draft.
                case DETACHCMDSW:
                        /*
                        ** Detach files from current draft.
-                       */
-
-                       if (attach == NULL) {
-                               advise(NULL, "can't detach because no header field name was given.");
-                               break;
-                       }
-
-                       /*
+                       **
                        ** Scan the arguments for a -n.  Mixed file
                        ** names and numbers aren't allowed, so this
                        ** catches a -n anywhere in the argument list.
                        ** Scan the arguments for a -n.  Mixed file
                        ** names and numbers aren't allowed, so this
                        ** catches a -n anywhere in the argument list.
@@ -475,8 +450,9 @@ WhatNow(int argc, char **argv)
 
                                        if (**arguments != '\0') {
                                                n = atoi(*arguments);
 
                                        if (**arguments != '\0') {
                                                n = atoi(*arguments);
-                                               annotate(drft, attach, NULL,
-                                                               1, 0, n, 1);
+                                               annotate(drft, attach_hdr,
+                                                               NULL, 1, 0,
+                                                               n, 1);
 
                                                for (argp = arguments + 1; *argp != NULL; argp++) {
                                                        if (atoi(*argp) > n) {
 
                                                for (argp = arguments + 1; *argp != NULL; argp++) {
                                                        if (atoi(*argp) > n) {
@@ -507,7 +483,7 @@ WhatNow(int argc, char **argv)
                                while (fgets(shell, sizeof (shell), f)
                                                != NULL) {
                                        *(strchr(shell, '\n')) = '\0';
                                while (fgets(shell, sizeof (shell), f)
                                                != NULL) {
                                        *(strchr(shell, '\n')) = '\0';
-                                       annotate(drft, attach, shell,
+                                       annotate(drft, attach_hdr, shell,
                                                        1, 0, 0, 1);
                                }
                                pclose(f);
                                                        1, 0, 0, 1);
                                }
                                pclose(f);
@@ -1042,11 +1018,7 @@ static struct swit  sendswitches[] = {
        { "server host", 6 },
 #define SNOOPSW  31
        { "snoop", -5 },
        { "server host", 6 },
 #define SNOOPSW  31
        { "snoop", -5 },
-#define SNDATTACHSW  32
-       { "attach file", 6 },
-#define SNDATTACHFORMAT   33
-       { "attachformat", 7 },
-#define PORTSW  34
+#define PORTSW  32
        { "port server-port-name/number", 4 },
        { NULL, 0 }
 };
        { "port server-port-name/number", 4 },
        { NULL, 0 }
 };
@@ -1071,8 +1043,6 @@ sendit(char *sp, char **arg, char *file, int pushed)
        char *cp, buf[BUFSIZ], **argp;
        char **arguments, *vec[MAXARGS];
        struct stat st;
        char *cp, buf[BUFSIZ], **argp;
        char **arguments, *vec[MAXARGS];
        struct stat st;
-       char *attach = NULL;  /* attachment header field name */
-       int attachformat = 0;  /* mhbuild format specifier for attachments */
 
 #ifndef lint
        int distsw = 0;
 
 #ifndef lint
        int distsw = 0;
@@ -1211,27 +1181,6 @@ sendit(char *sp, char **arg, char *file, int pushed)
                                vec[vecp++] = cp;
                                continue;
 
                                vec[vecp++] = cp;
                                continue;
 
-                       case SNDATTACHSW:
-                               if (!(attach = *argp++) || *attach == '-') {
-                                       advise(NULL, "missing argument to %s",
-                                                       argp[-2]);
-                                       return;
-                               }
-                               continue;
-
-                       case SNDATTACHFORMAT:
-                               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;
                        }
                }
                advise(NULL, "usage: %s [switches]", sp);
                        }
                }
                advise(NULL, "usage: %s [switches]", sp);
@@ -1296,7 +1245,7 @@ sendit(char *sp, char **arg, char *file, int pushed)
        vec[0] = mhbasename(postproc);
        closefds(3);
 
        vec[0] = mhbasename(postproc);
        closefds(3);
 
-       if (sendsbr(vec, vecp, file, &st, 1, attach, attachformat) == OK)
+       if (sendsbr(vec, vecp, file, &st, 1) == OK)
                done(0);
 }
 
                done(0);
 }