X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/d7e260c9a302e465a2c40e75ff8bd506768a7dbf..58eaf2c2:/uip/mhshow.c?ds=inline diff --git a/uip/mhshow.c b/uip/mhshow.c index 9fb18e7b..98cab9d1 100644 --- a/uip/mhshow.c +++ b/uip/mhshow.c @@ -25,8 +25,13 @@ X("noverbose", 0, NVERBSW) \ X("concat", 0, CONCATSW) \ X("noconcat", 0, NCONCATSW) \ + X("textonly", 0, TEXTONLYSW) \ + X("notextonly", 0, NTEXTONLYSW) \ + X("inlineonly", 0, INLINESW) \ + X("noinlineonly", 0, NINLINESW) \ X("file file", 0, FILESW) \ X("form formfile", 0, FORMSW) \ + X("markform formfile", 0, MARKFORMSW) \ X("part number", 0, PARTSW) \ X("type content", 0, TYPESW) \ X("rcache policy", 0, RCACHESW) \ @@ -98,8 +103,8 @@ static void pipeser (int); int main (int argc, char **argv) { - int msgnum, *icachesw, concatsw = 1, textonly = 1, inlineonly = 1; - char *cp, *file = NULL, *folder = NULL; + int msgnum, *icachesw, concatsw = -1, textonly = -1, inlineonly = -1; + char *cp, *file = NULL, *folder = NULL, *markform = NULL; char *maildir, buf[100], **argp; char **arguments; struct msgs_array msgs = { 0, 0, NULL }; @@ -167,6 +172,18 @@ do_cache: case NCONCATSW: concatsw = 0; continue; + case TEXTONLYSW: + textonly = 1; + continue; + case NTEXTONLYSW: + textonly = 0; + continue; + case INLINESW: + inlineonly = 1; + continue; + case NINLINESW: + inlineonly = 0; + continue; case PARTSW: if (!(cp = *argp++) || *cp == '-') @@ -200,6 +217,11 @@ do_cache: formsw = getcpy (etcpath (cp)); continue; + case MARKFORMSW: + if (!(markform = *argp++) || *markform == '-') + adios (NULL, "missing argument to %s", argp[-2]); + continue; + /* * Switches for moreproc/mhlproc */ @@ -247,8 +269,10 @@ do_cache: */ if (npart > 0 || ntype > 0) { - textonly = 0; - inlineonly = 0; + if (textonly == -1) + textonly = 0; + if (inlineonly == -1) + inlineonly = 0; } /* @@ -382,13 +406,13 @@ do_cache: context_save (); /* save the context file */ } - if (concat) + if (concatsw) m_popen(moreproc, 0); /* * Show the message content */ - show_all_messages (cts, concatsw, textonly, inlineonly, NULL); + show_all_messages (cts, concatsw, textonly, inlineonly, markform); /* Now free all the structures for the content */ for (ctp = cts; *ctp; ctp++) @@ -397,7 +421,7 @@ do_cache: free ((char *) cts); cts = NULL; - if (concat) + if (concatsw) m_pclose(); done (0);