X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fshow.c;h=08a9b31cefc25c31295db3df48fe7b8e46e08246;hp=860929303a31082b1c2d376795d418b335875f28;hb=fb0594cb913cab5e14e2c295b79eb48cc675bbbf;hpb=2d2016f0dfc9e036549ff035f0ae897c9b2d5fe4 diff --git a/uip/show.c b/uip/show.c index 8609293..08a9b31 100644 --- a/uip/show.c +++ b/uip/show.c @@ -23,21 +23,17 @@ static struct swit switches[] = { { "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 } }; @@ -86,7 +82,6 @@ main(int argc, char **argv) ambigsw(cp, switches); done(1); case UNKWNSW: - case NPROGSW: vec[vecp++] = --cp; continue; @@ -126,7 +121,6 @@ usage: continue; case PROGSW: - case LENSW: case WIDTHSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') @@ -272,19 +266,23 @@ go_to_it: ; } /* 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. */