Minor refactoring.
authormarkus schnalke <meillo@marmaro.de>
Tue, 20 Mar 2012 21:12:51 +0000 (22:12 +0100)
committermarkus schnalke <meillo@marmaro.de>
Tue, 20 Mar 2012 21:12:51 +0000 (22:12 +0100)
uip/show.c

index 08a9b31..2f5d9b4 100644 (file)
@@ -246,22 +246,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;
                }
        }
 
@@ -323,7 +324,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);
@@ -333,7 +334,6 @@ is_nontext(char *msgnam)
                                        cp = add(buf, cp);
                                }
                                bp = cp;
-                               passno = 1;
 
 again:
                                for (; isspace(*bp); bp++)
@@ -377,7 +377,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;
@@ -411,13 +418,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);