]> diplodocus.org Git - nmh/blobdiff - uip/show.c
Added test case for commit 4318012376e06229307c0ed4f62a00faae9edc63.
[nmh] / uip / show.c
index f89107855c0214bc766f1cc4c64312c9fc055c54..7fb4cfaea2840673e64ed9715cca275c352c0611 100644 (file)
     /*                         \
      * switches for mhlproc    \
      */                                \
-    X("concat", -6, CONCATSW) \
-    X("noconcat", -8, NCONCATSW) \
+    X("concat", 0, CONCATSW) \
+    X("noconcat", 0, NCONCATSW) \
+    /*                         \
+     * switches for mhshow     \
+     */                                \
+    X("part number", 0, PARTSW) \
+    X("type content", 0, TYPESW) \
+    X("prefer content", 0, PREFERSW) \
+    X("markform file", 0, MARKFORMSW) \
+    X("rcache policy", 0, RCACHESW) \
+    X("wcache policy", 0, WCACHESW) \
 
 #define X(sw, minchars, id) id,
 DEFINE_SWITCH_ENUM(SHOW);
@@ -87,6 +96,7 @@ main (int argc, char **argv)
                    goto non_mhl_switches;
                case NHEADSW:
                    headersw = 0;
+                   /* FALLTHRU */
                case CONCATSW:
                case NCONCATSW:
 non_mhl_switches:
@@ -141,6 +151,12 @@ usage:
                case LENSW:
                case WIDTHSW:
                case FMTPROCSW:
+               case PARTSW:
+               case TYPESW:
+               case PREFERSW:
+               case MARKFORMSW:
+               case RCACHESW:
+               case WCACHESW:
                    app_msgarg(&vec, --cp);
                    if (!(cp = *argp++) || *cp == '-')
                        adios (NULL, "missing argument to %s", argp[-2]);
@@ -177,8 +193,7 @@ usage:
        } else {
            if (mode != SHOW)
                goto usage;
-           else
-               app_msgarg(&msgs, cp);
+            app_msgarg(&msgs, cp);
        }
     }
 
@@ -244,7 +259,7 @@ usage:
 
     for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
        if (is_selected(mp, msgnum))
-           app_msgarg(&vec, getcpy (m_name (msgnum)));
+           app_msgarg(&vec, mh_xstrdup(m_name (msgnum)));
 
     seq_setcur (mp, mp->hghsel);       /* update current message  */
     seq_save (mp);                     /* synchronize sequences   */
@@ -372,7 +387,7 @@ is_nontext (char *msgnam)
                int passno;
                char c;
 
-               cp = add (buf, NULL);
+               cp = mh_xstrdup(buf);
                while (state == FLDPLUS) {
                    bufsz = sizeof buf;
                    state = m_getfld (&gstate, name, buf, &bufsz, fp);
@@ -399,7 +414,7 @@ invalid:
                            continue;
                        case '(':
                            i++;
-                           /* and fall... */
+                           /* FALLTHRU */
                        default:
                            continue;
                        case ')':
@@ -432,7 +447,7 @@ invalid:
                    if (*dp) {
                        if ((result = !uprf (dp, "charset")))
                            goto out;
-                       dp += sizeof("charset") - 1;
+                       dp += LEN("charset");
                        while (isspace ((unsigned char) *dp))
                            dp++;
                        if (*dp++ != '=')
@@ -477,7 +492,7 @@ out:
             * Check Content-Transfer-Encoding field
             */
            if (!strcasecmp (name, ENCODING_FIELD)) {
-               cp = add (buf, NULL);
+               cp = mh_xstrdup(buf);
                while (state == FLDPLUS) {
                    bufsz = sizeof buf;
                    state = m_getfld (&gstate, name, buf, &bufsz, fp);