s/lproc/listproc/
[mmh] / uip / show.c
index 89602ef..2b53141 100644 (file)
@@ -21,21 +21,15 @@ static struct swit switches[] = {
        { "noheader", 0 },
 #define FORMSW  4
        { "form formfile", 0 },
-#define PROGSW  5
-       { "moreproc program", 0 },
-#define LENSW  6
-       { "length lines", 0 },
-#define WIDTHSW  7
-       { "width columns", 0 },
-#define SHOWSW  8
+#define SHOWSW  5
        { "showproc program", 0 },
-#define SHOWMIMESW  9
+#define SHOWMIMESW  6
        { "showmimeproc program", 0 },
-#define FILESW  10
-       { "file file", -4 },  /* interface from showfile */
-#define VERSIONSW  11
+#define FILESW  7
+       { "file file", -4 },  /* interface from whatnow (listproc) */
+#define VERSIONSW  8
        { "version", 0 },
-#define HELPSW  12
+#define HELPSW  9
        { "help", 0 },
        { NULL, 0 }
 };
@@ -122,16 +116,6 @@ usage:
                                vec[vecp++] = getcpy(etcpath(cp));
                                continue;
 
-                       case PROGSW:
-                       case LENSW:
-                       case WIDTHSW:
-                               vec[vecp++] = --cp;
-                               if (!(cp = *argp++) || *cp == '-')
-                                       adios(NULL, "missing argument to %s",
-                                                       argp[-2]);
-                               vec[vecp++] = cp;
-                               continue;
-
                        case SHOWSW:
                                if (!(showproc = *argp++) || *showproc == '-')
                                        adios(NULL, "missing argument to %s",
@@ -249,22 +233,23 @@ go_to_it: ;
        mime = 0;
        /* check if any messages are non-text MIME messages */
        if (checkmime) {
-               if (!file) {
+               if (file) {
+                       /* check the file for MIME */
+                       if (is_nontext(vec[vecp - 1])) {
+                               mime = 1;
+                       }
+               } else {
                        /*
                        ** loop through selected messages
                        ** and check for MIME
                        */
-                       for (msgnum = mp->lowsel;
-                                       msgnum <= mp->hghsel;
+                       for (msgnum = mp->lowsel; msgnum <= mp->hghsel;
                                        msgnum++)
-                               if (is_selected(mp, msgnum) && is_nontext(m_name(msgnum))) {
+                               if (is_selected(mp, msgnum) &&
+                                               is_nontext(m_name(msgnum))) {
                                        mime = 1;
                                        break;
                                }
-               } else {
-                       /* check the file for MIME */
-                       if (is_nontext(vec[vecp - 1]))
-                               mime = 1;
                }
        }
 
@@ -326,7 +311,7 @@ is_nontext(char *msgnam)
                        ** Check Content-Type field
                        */
                        if (!mh_strcasecmp(name, TYPE_FIELD)) {
-                               int passno;
+                               int passno = 1;
                                char c;
 
                                cp = getcpy(buf);
@@ -336,7 +321,6 @@ is_nontext(char *msgnam)
                                        cp = add(buf, cp);
                                }
                                bp = cp;
-                               passno = 1;
 
 again:
                                for (; isspace(*bp); bp++)
@@ -380,7 +364,14 @@ invalid:
                                *dp = '\0';
                                if (!*bp)
                                        goto invalid;
-                               if (passno > 1) {
+                               if (passno == 1) {
+                                       if (!(result = (mh_strcasecmp(bp, "text") != 0))) {
+                                               *dp = c;
+                                               bp = dp;
+                                               passno = 2;
+                                               goto again;
+                                       }
+                               } else {
                                        if ((result = (mh_strcasecmp(bp,
                                                        "plain") != 0)))
                                                goto out;
@@ -414,13 +405,6 @@ invalid:
                                        }
                                        /* Check the character set */
                                        result = !check_charset(dp, strlen(dp));
-                               } else {
-                                       if (!(result = (mh_strcasecmp(bp, "text") != 0))) {
-                                               *dp = c;
-                                               bp = dp;
-                                               passno = 2;
-                                               goto again;
-                                       }
                                }
 out:
                                free(cp);