X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fshow.c;fp=uip%2Fshow.c;h=6e4f316899326d2caf3025b71a06c074d5b1d459;hp=860929303a31082b1c2d376795d418b335875f28;hb=41f62fc47ef6f2d223b7584b3bb912e65a630445;hpb=2d2016f0dfc9e036549ff035f0ae897c9b2d5fe4 diff --git a/uip/show.c b/uip/show.c index 8609293..6e4f316 100644 --- a/uip/show.c +++ b/uip/show.c @@ -272,19 +272,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. */