{ "form formfile", 0 },
#define PROGSW 5
{ "moreproc program", 0 },
-#define NPROGSW 6
- { "nomoreproc", 0 },
-#define LENSW 7
- { "length lines", 0 },
-#define WIDTHSW 8
+#define WIDTHSW 6
{ "width columns", 0 },
-#define SHOWSW 9
+#define SHOWSW 7
{ "showproc program", 0 },
-#define SHOWMIMESW 10
+#define SHOWMIMESW 8
{ "showmimeproc program", 0 },
-#define FILESW 11
- { "file file", -4 }, /* interface from showfile */
-#define VERSIONSW 12
+#define FILESW 9
+ { "file file", -4 }, /* interface from lproc (whatnow) */
+#define VERSIONSW 10
{ "version", 0 },
-#define HELPSW 13
+#define HELPSW 11
{ "help", 0 },
{ NULL, 0 }
};
ambigsw(cp, switches);
done(1);
case UNKWNSW:
- case NPROGSW:
vec[vecp++] = --cp;
continue;
continue;
case PROGSW:
- case LENSW:
case WIDTHSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
}
/* Set the "proc" */
- if (mime)
- proc = showmimeproc;
- else
- proc = showproc;
+ proc = (mime) ? showmimeproc : showproc;
if (folder && !file)
m_putenv("mhfolder", folder);
- /* If the "proc" is "mhshow", add "-file" if showing file. */
- if (strcmp(mhbasename(proc), "mhshow") == 0 && file ) {
- vec[vecp] = vec[vecp - 1];
- vec[vecp - 1] = "-file";
- vec[++vecp] = NULL;
+ /* Special-cased because mhshow takes msg not files args. */
+ if (strcmp(mhbasename(proc), "mhshow")==0) {
+ if (file) {
+ vec[vecp] = vec[vecp - 1];
+ vec[vecp - 1] = "-file";
+ vec[++vecp] = NULL;
+ }
+ vec[vecp++] = concat("+", folder, NULL);
+ vec[vecp] = NULL;
+ vec[0] = mhbasename(proc);
+ execvp(proc, vec);
+ adios(proc, "unable to exec");
}
/* Add the path to the message names. */