Removed the undocumented -unique switches. Seems they were JLR-only stuff.
[mmh] / uip / whatnowsbr.c
index d07c37e..3ed0ea4 100644 (file)
@@ -65,31 +65,29 @@ static struct swit aleqs[] = {
        { "edit [<editor> <switches>]", 0 },
 #define REFILEOPT  1
        { "refile [<switches>] +folder", 0 },
-#define BUILDMIMESW  2
-       { "mime [<switches>]", 0 },
-#define DISPSW  3
+#define DISPSW  2
        { "display [<switches>]", 0 },
-#define LISTSW  4
+#define LISTSW  3
        { "list [<switches>]", 0 },
-#define SENDSW  5
+#define SENDSW  4
        { "send [<switches>]", 0 },
-#define PUSHSW  6
+#define PUSHSW  5
        { "push [<switches>]", 0 },
-#define QUITSW  7
+#define QUITSW  6
        { "quit [-delete]", 0 },
-#define DELETESW  8
+#define DELETESW  7
        { "delete", 0 },
-#define CDCMDSW  9
+#define CDCMDSW  8
        { "cd [directory]", 0 },
-#define PWDCMDSW  10
+#define PWDCMDSW  9
        { "pwd", 0 },
-#define LSCMDSW  11
+#define LSCMDSW  10
        { "ls", 0 },
-#define ATTACHCMDSW  12
+#define ATTACHCMDSW  11
        { "attach", 0 },
-#define DETACHCMDSW  13
+#define DETACHCMDSW  12
        { "detach [-n]", 2 },
-#define ALISTCMDSW  14
+#define ALISTCMDSW  13
        { "alist [-ln] ", 2 },
        { NULL, 0 }
 };
@@ -103,8 +101,6 @@ static int editfile(char **, char **, char *, int, struct msgs *,
        char *, char *, int);
 static int sendfile(char **, char *, int);
 static void sendit(char *, char **, char *, int);
-static int buildfile(char **, char *);
-static int check_draft(char *);
 static int removefile(char *);
 static void writelscmd(char *, int, char **);
 static void writesomecmd(char *buf, int bufsz, char *cmd, char *trailcmd, char **argp);
@@ -228,11 +224,6 @@ WhatNow(int argc, char **argv)
                                advise(NULL, "no alternate message to display");
                        break;
 
-               case BUILDMIMESW:
-                       /* Translate MIME composition file */
-                       buildfile(++argp, drft);
-                       break;
-
                case EDITSW:
                        /* Call an editor on the draft file */
                        if (*++argp)
@@ -389,7 +380,6 @@ WhatNow(int argc, char **argv)
                        ** working directory to relative path names.
                        ** Add the attachment annotation to the draft.
                        */
-
                        if ((f = popen_in_dir(cwd, buf, "r")) != (FILE *)0) {
                                while (fgets(shell, sizeof (shell), f)
                                                != NULL) {
@@ -618,9 +608,6 @@ editfile(char **ed, char **arg, char *file, int use, struct msgs *mp,
 
 #ifdef HAVE_LSTAT
        int slinked = 0;
-#if 0
-       int oumask;  /* PJS: for setting permissions on symlinks. */
-#endif
 #endif /* HAVE_LSTAT */
 
        /* Was there a previous edit session? */
@@ -658,15 +645,7 @@ editfile(char **ed, char **arg, char *file, int use, struct msgs *mp,
                unlink(linkpath);
 #ifdef HAVE_LSTAT
                if (link(altpath, linkpath) == NOTOK) {
-#if 0
-                       /* I don't think permission on symlinks matters /JLR */
-                       /* PJS: else symlinks are world 'r' */
-                       oumask = umask(0044);
-#endif
                        symlink(altpath, linkpath);
-#if 0
-                       umask(oumask);  /* PJS: else symlinks are world 'r' */
-#endif
                        slinked = 1;
                } else {
                        slinked = 0;
@@ -803,18 +782,6 @@ sendfile(char **arg, char *file, int pushsw)
        int i, vecp;
        char *cp, *sp, *vec[MAXARGS];
 
-       /* Translate MIME composition file, if necessary */
-       if ((cp = context_find("automimeproc")) && (strcmp(cp, "1")==0) &&
-                       !getenv("NOMHNPROC") && check_draft(file) &&
-                       (buildfile(NULL, file) == NOTOK))
-               return 0;
-
-       /* For backwards compatibility */
-       if ((cp = context_find("automhnproc")) && !getenv("NOMHNPROC")
-                       && check_draft(file) && (i = editfile(&cp, NULL,
-                       file, NOUSE, NULL, NULL, NULL, 0)))
-               return 0;
-
        /*
        ** If the sendproc is the nmh command `send', then we call
        ** those routines directly rather than exec'ing the command.
@@ -858,101 +825,6 @@ sendfile(char **arg, char *file, int pushsw)
 }
 
 
-/*
-** Translate MIME composition file (call buildmimeproc)
-*/
-
-static int
-buildfile(char **argp, char *file)
-{
-       int i;
-       char **args, *ed;
-
-       ed = buildmimeproc;
-
-       /* allocate space for arguments */
-       i = 0;
-       if (argp) {
-               while (argp[i])
-                       i++;
-       }
-       args = (char **) mh_xmalloc((i + 2) * sizeof(char *));
-
-       /*
-       ** For backward compatibility, we need to add -build
-       ** if we are using mhn as buildmimeproc
-       */
-       i = 0;
-       if (strcmp(mhbasename(ed), "mhn") == 0)
-               args[i++] = "-build";
-
-       /* copy any other arguments */
-       while (argp && *argp)
-               args[i++] = *argp++;
-       args[i] = NULL;
-
-       i = editfile(&ed, args, file, NOUSE, NULL, NULL, NULL, 0);
-       free(args);
-
-       return (i ? NOTOK : OK);
-}
-
-
-/*
-**  Check if draft is a mhbuild composition file
-*/
-
-static int
-check_draft(char *msgnam)
-{
-       int state;
-       char buf[BUFSIZ], name[NAMESZ];
-       FILE *fp;
-
-       if ((fp = fopen(msgnam, "r")) == NULL)
-               return 0;
-       for (state = FLD;;)
-               switch (state = m_getfld(state, name, buf, sizeof(buf), fp)) {
-               case FLD:
-               case FLDPLUS:
-               case FLDEOF:
-                       /*
-                       ** If draft already contains any of the
-                       ** Content-XXX fields, then assume it already
-                       ** been converted.
-                       */
-                       if (uprf(name, XXX_FIELD_PRF)) {
-                               fclose(fp);
-                               return 0;
-                       }
-                       while (state == FLDPLUS)
-                               state = m_getfld(state, name, buf,
-                                               sizeof(buf), fp);
-                       break;
-
-               case BODY:
-                       do {
-                               char *bp;
-
-                               for (bp = buf; *bp; bp++)
-                                       if (*bp != ' ' && *bp != '\t' &&
-                                                       *bp != '\n') {
-                                               fclose(fp);
-                                               return 1;
-                                       }
-
-                               state = m_getfld(state, name, buf,
-                                               sizeof(buf), fp);
-                       } while (state == BODY);
-                       /* and fall... */
-
-               default:
-                       fclose(fp);
-                       return 0;
-               }
-}
-
-
 static struct swit  sendswitches[] = {
 #define ALIASW  0
        { "alias aliasfile", 0 },
@@ -970,56 +842,24 @@ static struct swit  sendswitches[] = {
        { "forward", 0 },
 #define NFORWSW  7
        { "noforward", 0 },
-#define MIMESW  8
-       { "mime", 0 },
-#define NMIMESW  9
-       { "nomime", 0 },
-#define MSGDSW  10
-       { "msgid", 0 },
-#define NMSGDSW  11
-       { "nomsgid", 0 },
-#define SPSHSW  12
+#define SPSHSW  8
        { "push", 0 },
-#define NSPSHSW  13
+#define NSPSHSW  9
        { "nopush", 0 },
-#define UNIQSW  14
-       { "unique", -6 },
-#define NUNIQSW  15
-       { "nounique", -8 },
-#define VERBSW  16
+#define VERBSW  10
        { "verbose", 0 },
-#define NVERBSW  17
+#define NVERBSW  11
        { "noverbose", 0 },
-#define WATCSW  18
+#define WATCSW  12
        { "watch", 0 },
-#define NWATCSW  19
+#define NWATCSW  13
        { "nowatch", 0 },
-#define WIDTHSW  20
+#define WIDTHSW  14
        { "width columns", 0 },
-#define SVERSIONSW  21
+#define SVERSIONSW  15
        { "version", 0 },
-#define SHELPSW  22
+#define SHELPSW  16
        { "help", 0 },
-#define BITSTUFFSW  23
-       { "dashstuffing", -12 },
-#define NBITSTUFFSW  24
-       { "nodashstuffing", -14 },
-#define MAILSW  25
-       { "mail", -4 },
-#define SAMLSW  26
-       { "saml", -4 },
-#define SSNDSW  27
-       { "send", -4 },
-#define SOMLSW  28
-       { "soml", -4 },
-#define CLIESW  29
-       { "client host", -6 },
-#define SERVSW  30
-       { "server host", 6 },
-#define SNOOPSW  31
-       { "snoop", -5 },
-#define PORTSW  32
-       { "port server-port-name/number", 4 },
        { NULL, 0 }
 };
 
@@ -1028,7 +868,6 @@ extern int debugsw;  /* from sendsbr.c */
 extern int forwsw;
 extern int inplace;
 extern int pushsw;
-extern int unique;
 extern int verbsw;
 
 extern char *altmsg;  /*  .. */
@@ -1047,9 +886,6 @@ sendit(char *sp, char **arg, char *file, int pushed)
 #ifndef lint
        int distsw = 0;
 #endif
-#ifdef UCI
-       FILE *fp;
-#endif
 
        /*
        ** Make sure these are defined.  In particular, we need
@@ -1087,7 +923,6 @@ sendit(char *sp, char **arg, char *file, int pushed)
        debugsw = 0;
        forwsw = 1;
        inplace = 1;
-       unique = 0;
 
        altmsg = NULL;
        annotext = NULL;
@@ -1123,12 +958,6 @@ sendit(char *sp, char **arg, char *file, int pushed)
                                pushed = 0;
                                continue;
 
-                       case UNIQSW:
-                               unique++;
-                               continue;
-                       case NUNIQSW:
-                               unique = 0;
-                               continue;
                        case FORWSW:
                                forwsw++;
                                continue;
@@ -1150,28 +979,14 @@ sendit(char *sp, char **arg, char *file, int pushed)
                        case NFILTSW:
                        case FRMTSW:
                        case NFRMTSW:
-                       case BITSTUFFSW:
-                       case NBITSTUFFSW:
-                       case MIMESW:
-                       case NMIMESW:
-                       case MSGDSW:
-                       case NMSGDSW:
                        case WATCSW:
                        case NWATCSW:
-                       case MAILSW:
-                       case SAMLSW:
-                       case SSNDSW:
-                       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 == '-') {
                                        advise(NULL, "missing argument to %s",
@@ -1198,21 +1013,9 @@ sendit(char *sp, char **arg, char *file, int pushed)
                }
        }
 
-       if ((cp = getenv("SIGNATURE")) == NULL || *cp == 0)
+       if (!(cp = getenv("SIGNATURE")) || !*cp)
                if ((cp = context_find("signature")) && *cp)
                        m_putenv("SIGNATURE", cp);
-#ifdef UCI
-               else {
-                       snprintf(buf, sizeof(buf), "%s/.signature", mypath);
-                       if ((fp = fopen(buf, "r")) != NULL &&
-                                       fgets(buf, sizeof(buf), fp) != NULL) {
-                               fclose(fp);
-                               if (cp = strchr(buf, '\n'))
-                                       *cp = 0;
-                               m_putenv("SIGNATURE", buf);
-                       }
-               }
-#endif /* UCI */
 
        if ((annotext = getenv("mhannotate")) == NULL || *annotext == 0)
                annotext = NULL;