{ "noheader", 0 },
#define FORMSW 4
{ "form formfile", 0 },
-#define PROGSW 5
- { "moreproc program", 0 },
-#define WIDTHSW 6
- { "width columns", 0 },
-#define SHOWSW 7
+#define SHOWSW 5
{ "showproc program", 0 },
-#define SHOWMIMESW 8
+#define SHOWMIMESW 6
{ "showmimeproc program", 0 },
-#define FILESW 9
- { "file file", -4 }, /* interface from lproc (whatnow) */
-#define VERSIONSW 10
+#define FILESW 7
+ { "file file", -4 }, /* interface from whatnow (listproc) */
+#define VERSIONSW 8
{ "version", 0 },
-#define HELPSW 11
+#define HELPSW 9
{ "help", 0 },
{ NULL, 0 }
};
#define NEXT 1
#define PREV 2
+char *showproc = "mhl";
+char *showmimeproc = "mhshow";
int
main(int argc, char **argv)
vec[vecp++] = getcpy(etcpath(cp));
continue;
- case PROGSW:
- 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",
goto go_to_it;
}
-#ifdef WHATNOW
- if (!msgp && !folder && mode == SHOW &&
- (cp = getenv("mhdraft")) && *cp) {
- vec[vecp++] = cp;
- goto go_to_it;
- }
-#endif /* WHATNOW */
-
if (!msgp) {
switch (mode) {
case NEXT:
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;
}
}
/* Set the "proc" */
proc = (mime) ? showmimeproc : showproc;
- if (folder && !file)
- m_putenv("mhfolder", folder);
-
/* Special-cased because mhshow takes msg not files args. */
if (strcmp(mhbasename(proc), "mhshow")==0) {
if (file) {
** Check Content-Type field
*/
if (!mh_strcasecmp(name, TYPE_FIELD)) {
- int passno;
+ int passno = 1;
char c;
cp = getcpy(buf);
cp = add(buf, cp);
}
bp = cp;
- passno = 1;
again:
for (; isspace(*bp); bp++)
*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;
}
/* 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);