Removed mhn, as it was already replaced by mhlist/mhshow/mhstore.
authormarkus schnalke <meillo@marmaro.de>
Wed, 5 Oct 2011 19:13:58 +0000 (21:13 +0200)
committermarkus schnalke <meillo@marmaro.de>
Wed, 5 Oct 2011 19:13:58 +0000 (21:13 +0200)
18 files changed:
INSTALL
acconfig.h
config/config.c
docs/COMPLETION-BASH
docs/COMPLETION-TCSH
docs/COMPLETION-ZSH
etc/mhl.headers
man/Makefile.in
man/mh-chart.man
man/mhn.man [deleted file]
man/nmh.man
uip/Makefile.in
uip/forw.c
uip/mhn.c [deleted file]
uip/mhshowsbr.c
uip/mhstoresbr.c
uip/replsbr.c
uip/sendsbr.c

diff --git a/INSTALL b/INSTALL
index 6811964..179d11d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -67,13 +67,13 @@ need an ANSI C compiler such as gcc.
    for this file ("masquerade" may be of particular interest).
 
 6) Edit the file `mhn.defaults' (installed in the nmh `etc' directory).
-   This file contains the default profile entries for the nmh command
-   `mhn' and is created by the script `mhn.defaults.sh'.  This script
-   will search a generic path (essentially your $PATH) for programs to
-   handle various content types (for example, xv to display images).
-   You can re-run this script and give it a more tailored path.  You may
-   want to re-run this script later if you install new programs to
-   display content.  An example of this is:
+   This file contains the default profile entries for the nmh commands
+   mhlist/mhstore/mhshow and is created by the script `mhn.defaults.sh'.
+   This script will search a generic path (essentially your $PATH) for
+   programs to handle various content types (for example, xv to display
+   images).  You can re-run this script and give it a more tailored
+   path.  You may want to re-run this script later if you install new
+   programs to display content.  An example of this is:
 
     % cd support/general
     % ./mhn.defaults.sh /usr/local/bin:/usr/X11/bin:/usr/ucb > mhn.defaults
@@ -83,9 +83,9 @@ need an ANSI C compiler such as gcc.
    The `mhn.defaults.sh' script only searches for a simple set of programs.
    If you have specialized programs to handle various types, you will need
    to edit the `mhn.defaults' file manually.  The syntax of this file is
-   described in the man page for `mhn', and in section 9.4 of the book
-   "MH & xmh: Email for Users and Programmers", 3rd edition, by Jerry Peek,
-   on the Internet at <http://www.ics.uci.edu/~mh/book/mh/confmhn.htm>.
+   described in section 9.4 of the book "MH & xmh: Email for Users and
+   Programmers", 3rd edition, by Jerry Peek, on the Internet at
+   <http://www.ics.uci.edu/~mh/book/mh/confmhn.htm>.
 
 7) Add an optional global mh.profile, if desired.  This profile should be
    placed in the nmh `etc' directory with the name `mh.profile'.  This
index 8162798..c8882cb 100644 (file)
 #define MHRC    1
 
 /*
- * Compile simple ftp client into mhn.  This will be used by mhn
- * for ftp access unless you have specified another access method
- * in your .mh_profile or mhn.defaults.  Use the "mhn-access-ftp"
- * profile entry to override this.  Check mhn(1) man page for
- * details.
+ * Compile simple ftp client into mhshow/mhstore.  This will be used by
+ * mhshow/mhstore for ftp access unless you have specified another access
+ * method in your .mh_profile or mhn.defaults.  Use the "nmh-access-ftp"
+ * profile entry to override this.  Check mhshow(1)/mhstore(1) man page
+ * for details.
  */
 #define BUILTIN_FTP 1
 
index 671292e..f03cd19 100644 (file)
@@ -232,7 +232,7 @@ char *mailproc = nmhbindir (/mhmail);
 
 /*
  * This is used by mhl as a front-end.  It is also used
- * by mhn as the default method of displaying message bodies
+ * by mhshow as the default method of displaying message bodies
  * or message parts of type text/plain.
  */
 
@@ -240,7 +240,7 @@ char *moreproc = "more";
 
 /* 
  * This is the program (mhl) used to filter messages.  It is
- * used by mhn to filter and display the message headers of
+ * used by mhshow to filter and display the message headers of
  * MIME messages.  It is used by repl/forw (with -filter)
  * to filter the message to which you are replying/forwarding.
  * It is used by send/spost (with -filter) to filter the message
index f759c35..d6496f7 100644 (file)
@@ -161,4 +161,4 @@ _nmh()
     COMPREPLY=( $( compgen -W "${options[*]}" -- $current ) )
     return 0
 }
-[ "$have" ] && complete -F _nmh ali anno burst comp dist flist flists folder folders forw inc mark mhbuild mhl mhlist mhmail mhn mhparam mhpath mhshow mhstore msgchk next packf pick prev prompter rcvdist rcvpack rcvstore rcvtty  refile repl rmf rmm scan send sendfiles show slocal sortm whatnow whom 
+[ "$have" ] && complete -F _nmh ali anno burst comp dist flist flists folder folders forw inc mark mhbuild mhl mhlist mhmail mhparam mhpath mhshow mhstore msgchk next packf pick prev prompter rcvdist rcvpack rcvstore rcvtty  refile repl rmf rmm scan send sendfiles show slocal sortm whatnow whom 
index f75933e..02af265 100644 (file)
@@ -29,7 +29,6 @@ complete forw         c%+%D:$nmh_mail_dir%
 complete inc           c%+%D:$nmh_mail_dir%
 complete mark          c%+%D:$nmh_mail_dir%
 complete mhl           c%+%D:$nmh_mail_dir%
-complete mhn           c%+%D:$nmh_mail_dir%
 complete mhpath                c%+%D:$nmh_mail_dir%
 complete next          c%+%D:$nmh_mail_dir%
 complete packf         c%+%D:$nmh_mail_dir%
index 5c10cc8..d2ba02c 100644 (file)
@@ -176,13 +176,5 @@ compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - 's[-]' \
   -k "(alias check draft draftfolder draftmessage help nocheck \
   nodraftfolder)" -- whom
 
-compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - 's[-]' \
-  -k "(file part type list headers noheaders realsize norealsize nolist \
-  show serialonly noserialonly form pause nopause noshow store auto noauto \
-  nostore cache nocache rcache wcache check nocheck ebcdicsafe noebcdicsafe \
-  rfc934mode norfc934mode verbose noverbose help)" - \
-  'c[-1,-file]' -f - 'c[-1,-form]' -K mhfile - \
-  'C[-1,-[rw]cache]' -k '(public private never ask)' -- mhn
-
 compctl -K mhfseq -x 's[+][@]' -K mhcomp -S / -q - 's[-]' -k '(help)' -- mhpath
 
index 8fee181..795eab2 100644 (file)
@@ -1,7 +1,7 @@
 ; mhl.headers
 ;
 ; Default format file for displaying headers in
-; MIME messages.  mhn calls the mhlproc with this
+; MIME messages.  mhshow calls the mhlproc with this
 ; filter to display message header.
 ;
 overflowtext="***",overflowoffset=5
index 589a0c8..cee0747 100644 (file)
@@ -47,7 +47,7 @@ MAN1SRC = ali. anno. burst. comp.             \
        dist. flist. flists. folder. folders.   \
        forw. inc. install-mh. mark. mh-chart.  \
        nmh. mhbuild. mhl. mhlist. mhmail.      \
-       mhn. mhparam. mhpath. mhshow.           \
+       mhparam. mhpath. mhshow.                        \
        mhstore. msgchk.                        \
        new. fnext. fprev. unseen.              \
        next. packf. pick. prev.                        \
index 4414421..0ea33b0 100644 (file)
@@ -324,44 +324,6 @@ is equivalent to
 .RB [ \-help ] 
 
 .HP 5
-.B mhn
-.RI [ +folder ]
-.RI [ msgs ]
-.RB [ \-file
-.IR file ]
-.RB [ \-part
-.IR number ]
-\&...
-.RB [ \-type
-.IR content ]
-\&...
-.RB [ \-show " | " \-noshow ]
-.RB [ \-list " | " \-nolist ]
-.RB [ \-store " | " \-nostore ]
-.RB [ \-cache " | " \-nocache ]
-.RB [ \-headers " | " \-noheaders ]
-.RB [ \-realsize " | " \-norealsize ]
-.RB [ \-serialonly " | " \-noserialonly ]
-.RB [ \-form
-.IR formfile ]
-.RB [ \-pause " | " \-nopause ]
-.RB [ \-auto " | " \-noauto ]
-.RB [ \-rcache
-.IR policy ]
-.RB [ \-wcache
-.IR policy ]
-.RB [ \-check " | " \-nocheck ]
-.RB [ \-version ]
-.RB [ \-help ]
-.PP
-.HP 5
-.B mhn
-.B \-build
-.I file
-.RB [ \-ebcdicsafe " | " \-noebcdicsafe ]
-.RB [ \-rfc934mode " | " \-norfc934mode ]
-
-.HP 5
 .B mhpath
 .RI [ +folder ]
 .RI [ msgs ]
diff --git a/man/mhn.man b/man/mhn.man
deleted file mode 100644 (file)
index fc682ef..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-.\"
-.\" %nmhwarning%
-.\"
-.TH MHN %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
-.SH NAME
-mhn \- display/list/store/cache MIME messages
-.SH SYNOPSIS
-.HP 5
-.na
-.B mhn
-.RI [ +folder ]
-.RI [ msgs ]
-.RB [ \-file
-.IR file ]
-.RB [ \-part
-.IR number ]
-\&...
-.RB [ \-type
-.IR content ]
-\&...
-.RB [ \-show " | " \-noshow ]
-.RB [ \-list " | " \-nolist ]
-.RB [ \-store " | " \-nostore ]
-.RB [ \-cache " | " \-nocache ]
-.RB [ \-headers " | " \-noheaders ]
-.RB [ \-realsize " | " \-norealsize ]
-.RB [ \-serialonly " | " \-noserialonly ]
-.RB [ \-form
-.IR formfile ]
-.RB [ \-pause " | " \-nopause ]
-.RB [ \-auto " | " \-noauto ]
-.RB [ \-rcache
-.IR policy ]
-.RB [ \-wcache
-.IR policy ]
-.RB [ \-check " | " \-nocheck ]
-.RB [ \-version ]
-.RB [ \-help ]
-.PP
-.HP 5
-.B mhn
-.B \-build
-.I file
-.RB [ \-ebcdicsafe " | " \-noebcdicsafe ]
-.RB [ \-rfc934mode " | " \-norfc934mode ]
-.ad
-.SH DESCRIPTION
-.B MHN SHOULD BE CONSIDERED DEPRECATED.  IT IS RETAINED FOR THE PURPOSE
-.B OF BACKWARD COMPATIBILITY, BUT EVERYONE SHOULD MIGRATE TO USING THE
-.B COMMANDS MHSHOW, MHSTORE, AND MHLIST.  CHECK THE INDIVIDUAL MAN PAGES
-.B FOR DETAILS.
-
-.SH "SEE ALSO"
-mhbuild(1), mhl(1), sendfiles(1)
index 4c2b59a..9b1f955 100644 (file)
@@ -207,7 +207,6 @@ commands:
 ^mhl(1)~^\- produce formatted listings of nmh messages
 ^mhlist(1)~^\- list information about content of MIME messages
 ^mhmail(1)~^\- send or read mail
-^mhn(1)~^\- display/list/store/cache MIME messages
 ^mhparam(1)~^\- print nmh profile components
 ^mhpath(1)~^\- print full pathnames of nmh messages and folders
 ^mhshow(1)~^\- display MIME messages
index 2423185..9118045 100644 (file)
@@ -51,7 +51,7 @@ SETGID_MAIL    = @SETGID_MAIL@
 
 # commands to build
 CMDS = ali anno burst comp dist flist folder forw install-mh mark mhbuild \
-       mhlist mhmail mhn mhparam mhpath mhshow mhstore msgchk \
+       mhlist mhmail mhparam mhpath mhshow mhstore msgchk \
        new packf pick prompter refile repl rmf rmm scan send show \
        sortm whatnow whom
 
@@ -70,7 +70,7 @@ SRCS = ali.c aliasbr.c anno.c annosbr.c ap.c burst.c comp.c             \
        conflict.c dist.c distsbr.c dp.c dropsbr.c flist.c fmtdump.c      \
        folder.c forw.c ftpsbr.c inc.c install-mh.c mark.c md5.c mhbuild.c \
        mhbuildsbr.c mhcachesbr.c mhfree.c mhl.c mhlist.c mhlistsbr.c     \
-       mhlsbr.c mhmail.c mhmisc.c mhn.c mhoutsbr.c mhparam.c mhparse.c   \
+       mhlsbr.c mhmail.c mhmisc.c mhoutsbr.c mhparam.c mhparse.c         \
        mhpath.c mhshow.c mhshowsbr.c mhstore.c mhstoresbr.c mhtest.c     \
        msgchk.c new.c packf.c pick.c picksbr.c \
        prompter.c rcvdist.c rcvpack.c rcvstore.c rcvtty.c        \
@@ -148,9 +148,6 @@ mhlist: mhlist.o mhparse.o mhcachesbr.o mhlistsbr.o mhmisc.o mhfree.o ftpsbr.o t
 mhmail: mhmail.o $(LOCALLIBS)
        $(LINK) mhmail.o $(LINKLIBS)
 
-mhn: mhn.o mhparse.o mhcachesbr.o mhshowsbr.o mhlistsbr.o mhstoresbr.o mhmisc.o mhfree.o ftpsbr.o termsbr.o md5.o $(LOCALLIBS)
-       $(LINK) mhn.o mhparse.o mhcachesbr.o mhshowsbr.o mhlistsbr.o mhstoresbr.o mhmisc.o mhfree.o ftpsbr.o termsbr.o md5.o $(LINKLIBS) $(TERMLIB)
-
 mhparam: mhparam.o $(LOCALLIBS)
        $(LINK) mhparam.o $(LINKLIBS)
 
index ac0c4c5..7668b4d 100644 (file)
@@ -620,7 +620,7 @@ copy_draft (int out, char *digest, char *file, int volume, int issue, int dashst
 
 
 /*
- * Create a mhn composition file for forwarding message.
+ * Create a mhbuild composition file for forwarding message.
  */
 
 static void
diff --git a/uip/mhn.c b/uip/mhn.c
deleted file mode 100644 (file)
index a7644a3..0000000
--- a/uip/mhn.c
+++ /dev/null
@@ -1,703 +0,0 @@
-
-/*
- * mhn.c -- display, list, cache, or store the contents of MIME messages
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
-
-#include <h/mh.h>
-#include <fcntl.h>
-#include <h/signals.h>
-#include <h/md5.h>
-#include <errno.h>
-#include <signal.h>
-#include <h/mts.h>
-#include <h/tws.h>
-#include <h/mime.h>
-#include <h/mhparse.h>
-#include <h/mhcachesbr.h>
-#include <h/utils.h>
-
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
-static struct swit switches[] = {
-#define        AUTOSW                  0
-    { "auto", 0 },
-#define        NAUTOSW                 1
-    { "noauto", 0 },
-#define        CACHESW                 2
-    { "cache", 0 },
-#define        NCACHESW                3
-    { "nocache", 0 },
-#define        CHECKSW                 4
-    { "check", 0 },
-#define        NCHECKSW                5
-    { "nocheck", 0 },
-#define        HEADSW                  6
-    { "headers", 0 },
-#define        NHEADSW                 7
-    { "noheaders", 0 },
-#define        LISTSW                  8
-    { "list", 0 },
-#define        NLISTSW                 9
-    { "nolist", 0 },
-#define        PAUSESW                10
-    { "pause", 0 },
-#define        NPAUSESW               11
-    { "nopause", 0 },
-#define        SIZESW                 12
-    { "realsize", 0 },
-#define        NSIZESW                13
-    { "norealsize", 0 },
-#define        SERIALSW               14
-    { "serialonly", 0 },
-#define        NSERIALSW              15
-    { "noserialonly", 0 },
-#define        SHOWSW                 16
-    { "show", 0 },
-#define        NSHOWSW                17
-    { "noshow", 0 },
-#define        STORESW                18
-    { "store", 0 },
-#define        NSTORESW               19
-    { "nostore", 0 },
-#define        VERBSW                 20
-    { "verbose", 0 },
-#define        NVERBSW                21
-    { "noverbose", 0 },
-#define        FILESW                 22       /* interface from show */
-    { "file file", 0 },
-#define        FORMSW                 23
-    { "form formfile", 0 },
-#define        PARTSW                 24
-    { "part number", 0 },
-#define        TYPESW                 25
-    { "type content", 0 },
-#define        RCACHESW               26
-    { "rcache policy", 0 },
-#define        WCACHESW               27
-    { "wcache policy", 0 },
-#define VERSIONSW              28
-    { "version", 0 },
-#define        HELPSW                 29
-    { "help", 0 },
-
-/*
- * switches for debugging
- */
-#define        DEBUGSW                30
-    { "debug", -5 },
-
-/*
- * switches for moreproc/mhlproc
- */
-#define        PROGSW                 31
-    { "moreproc program", -4 },
-#define        NPROGSW                32
-    { "nomoreproc", -3 },
-#define        LENSW                  33
-    { "length lines", -4 },
-#define        WIDTHSW                34
-    { "width columns", -4 },
-
-/*
- * switches for mhbuild
- */
-#define BUILDSW                35
-    { "build", -5 },
-#define NBUILDSW               36
-    { "nobuild", -7 },
-#define        EBCDICSW               37
-    { "ebcdicsafe", -10 },
-#define        NEBCDICSW              38
-    { "noebcdicsafe", -12 },
-#define        RFC934SW               39
-    { "rfc934mode", -10 },
-#define        NRFC934SW              40
-    { "norfc934mode", -12 },
-    { NULL, 0 }
-};
-
-
-/* mhparse.c */
-extern char *tmp;      /* directory to place temp files */
-
-/* mhcachesbr.c */
-extern int rcachesw;
-extern int wcachesw;
-extern char *cache_public;
-extern char *cache_private;
-
-/* mhshowsbr.c */
-extern int pausesw;
-extern int serialsw;
-extern char *progsw;
-extern int nolist;
-extern int nomore;     /* flags for moreproc/header display */
-extern char *formsw;
-
-/* mhstoresbr.c */
-extern int autosw;
-extern char *cwd;      /* cache current working directory */
-
-/* mhmisc.c */
-extern int npart;
-extern int ntype;
-extern char *parts[NPARTS + 1];
-extern char *types[NTYPES + 1];
-extern int userrs;
-
-int debugsw = 0;
-int verbosw = 0;
-
-/*
- * variables for mhbuild (mhn -build)
- */
-static int buildsw  = 0;
-static int ebcdicsw = 0;
-static int rfc934sw = 0;
-
-/*
- * what action to take?
- */
-static int cachesw = 0;
-static int listsw  = 0;
-static int showsw  = 0;
-static int storesw = 0;
-
-#define        quitser pipeser
-
-/* mhparse.c */
-CT parse_mime (char *);
-
-/* mhmisc.c */
-int part_ok (CT, int);
-int type_ok (CT, int);
-void set_endian (void);
-void flush_errors (void);
-
-/* mhshowsbr.c */
-void show_all_messages (CT *);
-
-/* mhlistsbr.c */
-void list_all_messages (CT *, int, int, int, int);
-
-/* mhstoresbr.c */
-void store_all_messages (CT *);
-
-/* mhcachesbr.c */
-void cache_all_messages (CT *);
-
-/* mhfree.c */
-void free_content (CT);
-extern CT *cts;
-void freects_done (int) NORETURN;
-
-/*
- * static prototypes
- */
-static RETSIGTYPE pipeser (int);
-
-
-int
-main (int argc, char **argv)
-{
-    int sizesw = 1, headsw = 1;
-    int msgnum, *icachesw;
-    char *cp, *file = NULL, *folder = NULL;
-    char *maildir, buf[100], **argp;
-    char **arguments;
-    struct msgs_array msgs = { 0, 0, NULL };
-    struct msgs *mp = NULL;
-    CT ct, *ctp;
-    FILE *fp;
-
-    done=freects_done;
-
-#ifdef LOCALE
-    setlocale(LC_ALL, "");
-#endif
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
-
-    arguments = getarguments (invo_name, argc, argv, 1);
-    argp = arguments;
-
-    /*
-     * Parse arguments
-     */
-    while ((cp = *argp++)) {
-       if (*cp == '-') {
-           switch (smatch (++cp, switches)) {
-           case AMBIGSW: 
-               ambigsw (cp, switches);
-               done (1);
-           case UNKWNSW: 
-               adios (NULL, "-%s unknown", cp);
-
-           case HELPSW: 
-               snprintf (buf, sizeof(buf), "%s [+folder] [msgs] [switches]",
-                       invo_name);
-               print_help (buf, switches, 1);
-               done (1);
-           case VERSIONSW:
-               print_version(invo_name);
-               done (1);
-
-           case AUTOSW:
-               autosw++;
-               continue;
-           case NAUTOSW:
-               autosw = 0;
-               continue;
-
-           case CACHESW:
-               cachesw++;
-               continue;
-           case NCACHESW:
-               cachesw = 0;
-               continue;
-
-           case RCACHESW:
-               icachesw = &rcachesw;
-               goto do_cache;
-           case WCACHESW:
-               icachesw = &wcachesw;
-do_cache:
-               if (!(cp = *argp++) || *cp == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               switch (*icachesw = smatch (cp, caches)) {
-               case AMBIGSW:
-                   ambigsw (cp, caches);
-                   done (1);
-               case UNKWNSW:
-                   adios (NULL, "%s unknown", cp);
-               default:
-                   break;
-               }
-               continue;
-
-           case CHECKSW:
-               checksw++;
-               continue;
-           case NCHECKSW:
-               checksw = 0;
-               continue;
-
-           case HEADSW:
-               headsw = 1;
-               continue;
-           case NHEADSW:
-               headsw = 0;
-               continue;
-
-           case LISTSW:
-               listsw = 1;
-               continue;
-           case NLISTSW:
-               listsw = 0;
-               continue;
-
-           case PAUSESW:
-               pausesw = 1;
-               continue;
-           case NPAUSESW:
-               pausesw = 0;
-               continue;
-
-           case SERIALSW:
-               serialsw = 1;
-               continue;
-           case NSERIALSW:
-               serialsw = 0;
-               continue;
-
-           case SHOWSW:
-               showsw = 1;
-               continue;
-           case NSHOWSW:
-               showsw = 0;
-               continue;
-
-           case SIZESW:
-               sizesw = 1;
-               continue;
-           case NSIZESW:
-               sizesw = 0;
-               continue;
-
-           case STORESW:
-               storesw = 1;
-               continue;
-           case NSTORESW:
-               storesw = 0;
-               continue;
-
-           case PARTSW:
-               if (!(cp = *argp++) || *cp == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               if (npart >= NPARTS)
-                   adios (NULL, "too many parts (starting with %s), %d max",
-                          cp, NPARTS);
-               parts[npart++] = cp;
-               continue;
-
-           case TYPESW:
-               if (!(cp = *argp++) || *cp == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               if (ntype >= NTYPES)
-                   adios (NULL, "too many types (starting with %s), %d max",
-                          cp, NTYPES);
-               types[ntype++] = cp;
-               continue;
-
-           case FILESW:
-               if (!(cp = *argp++) || (*cp == '-' && cp[1]))
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               file = *cp == '-' ? cp : path (cp, TFILE);
-               continue;
-
-           case FORMSW:
-               if (!(cp = *argp++) || *cp == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               if (formsw)
-                   free (formsw);
-               formsw = getcpy (etcpath (cp));
-               continue;
-
-           /*
-            * Switches for moreproc/mhlproc
-            */
-           case PROGSW:
-               if (!(progsw = *argp++) || *progsw == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               continue;
-           case NPROGSW:
-               nomore++;
-               continue;
-
-           case LENSW:
-           case WIDTHSW:
-               if (!(cp = *argp++) || *cp == '-')
-                   adios (NULL, "missing argument to %s", argp[-2]);
-               continue;
-
-           /*
-            * Switches for mhbuild
-            */
-           case BUILDSW:
-               buildsw = 1;
-               continue;
-           case NBUILDSW:
-               buildsw = 0;
-               continue;
-           case RFC934SW:
-               rfc934sw = 1;
-               continue;
-           case NRFC934SW:
-               rfc934sw = -1;
-               continue;
-           case EBCDICSW:
-               ebcdicsw = 1;
-               continue;
-           case NEBCDICSW:
-               ebcdicsw = -1;
-               continue;
-
-           case VERBSW: 
-               verbosw = 1;
-               continue;
-           case NVERBSW: 
-               verbosw = 0;
-               continue;
-           case DEBUGSW:
-               debugsw = 1;
-               continue;
-           }
-       }
-       if (*cp == '+' || *cp == '@') {
-           if (folder)
-               adios (NULL, "only one folder at a time!");
-           else
-               folder = pluspath (cp);
-       } else
-               app_msgarg(&msgs, cp);
-    }
-
-    /* null terminate the list of acceptable parts/types */
-    parts[npart] = NULL;
-    types[ntype] = NULL;
-
-    set_endian ();
-
-    if ((cp = getenv ("MM_NOASK")) && !strcmp (cp, "1")) {
-       nolist  = 1;
-       listsw  = 0;
-       pausesw = 0;
-    }
-
-    /*
-     * Check if we've specified an additional profile
-     */
-    if ((cp = getenv ("MHN"))) {
-       if ((fp = fopen (cp, "r"))) {
-           readconfig ((struct node **) 0, fp, cp, 0);
-           fclose (fp);
-       } else {
-           admonish ("", "unable to read $MHN profile (%s)", cp);
-       }
-    }
-
-    /*
-     * Read the standard profile setup
-     */
-    if ((fp = fopen (cp = etcpath ("mhn.defaults"), "r"))) {
-       readconfig ((struct node **) 0, fp, cp, 0);
-       fclose (fp);
-    }
-
-    /* Check for public cache location */
-    if ((cache_public = context_find (nmhcache)) && *cache_public != '/')
-       cache_public = NULL;
-
-    /* Check for private cache location */
-    if (!(cache_private = context_find (nmhprivcache)))
-       cache_private = ".cache";
-    cache_private = getcpy (m_maildir (cache_private));
-
-    /*
-     * Cache the current directory before we do any chdirs()'s.
-     */
-    cwd = getcpy (pwd());
-
-    /*
-     * Check for storage directory.  If specified,
-     * then store temporary files there.  Else we
-     * store them in standard nmh directory.
-     */
-    if ((cp = context_find (nmhstorage)) && *cp)
-       tmp = concat (cp, "/", invo_name, NULL);
-    else
-       tmp = add (m_maildir (invo_name), NULL);
-
-    if (!context_find ("path"))
-       free (path ("./", TFOLDER));
-
-    /*
-     * Process a mhn composition file (mhn -build)
-     */
-    if (buildsw) {
-       char *vec[MAXARGS];
-       int vecp;
-
-       if (showsw || storesw || cachesw)
-           adios (NULL, "cannot use -build with -show, -store, -cache");
-       if (msgs.size < 1)
-           adios (NULL, "need to specify a %s composition file", invo_name);
-       if (msgs.size > 1)
-           adios (NULL, "only one %s composition file at a time", invo_name);
-
-       vecp = 0;
-       vec[vecp++] = "mhbuild";
-
-       if (ebcdicsw == 1)
-           vec[vecp++] = "-ebcdicsafe";
-       else if (ebcdicsw == -1)
-           vec[vecp++] = "-noebcdicsafe";
-
-       if (rfc934sw == 1)
-           vec[vecp++] = "-rfc934mode";
-       else if (rfc934sw == -1)
-           vec[vecp++] = "-norfc934mode";
-
-       vec[vecp++] = msgs.msgs[0];
-       vec[vecp] = NULL;
-
-       execvp ("mhbuild", vec);
-       fprintf (stderr, "unable to exec ");
-       _exit (-1);
-    }
-
-    /*
-     * Process a mhn composition file (old MH style)
-     */
-    if (msgs.size == 1 && !folder && !npart && !cachesw
-       && !showsw && !storesw && !ntype && !file
-       && (cp = getenv ("mhdraft"))
-       && strcmp (cp, msgs.msgs[0]) == 0) {
-
-       char *vec[MAXARGS];
-       int vecp;
-
-       vecp = 0;
-       vec[vecp++] = "mhbuild";
-
-       if (ebcdicsw == 1)
-           vec[vecp++] = "-ebcdicsafe";
-       else if (ebcdicsw == -1)
-           vec[vecp++] = "-noebcdicsafe";
-
-       if (rfc934sw == 1)
-           vec[vecp++] = "-rfc934mode";
-       else if (rfc934sw == -1)
-           vec[vecp++] = "-norfc934mode";
-
-       vec[vecp++] = cp;
-       vec[vecp] = NULL;
-
-       execvp ("mhbuild", vec);
-       fprintf (stderr, "unable to exec ");
-       _exit (-1);
-    }
-
-    if (file && msgs.size)
-       adios (NULL, "cannot specify msg and file at same time!");
-
-    /*
-     * check if message is coming from file
-     */
-    if (file) {
-       if (!(cts = (CT *) calloc ((size_t) 2, sizeof(*cts))))
-           adios (NULL, "out of memory");
-       ctp = cts;
-
-       if ((ct = parse_mime (file)));
-           *ctp++ = ct;
-    } else {
-       /*
-        * message(s) are coming from a folder
-        */
-       if (!msgs.size)
-           app_msgarg(&msgs, "cur");
-       if (!folder)
-           folder = getfolder (1);
-       maildir = m_maildir (folder);
-
-       if (chdir (maildir) == NOTOK)
-           adios (maildir, "unable to change directory to");
-
-       /* read folder and create message structure */
-       if (!(mp = folder_read (folder)))
-           adios (NULL, "unable to read folder %s", folder);
-
-       /* check for empty folder */
-       if (mp->nummsg == 0)
-           adios (NULL, "no messages in %s", folder);
-
-       /* parse all the message ranges/sequences and set SELECTED */
-       for (msgnum = 0; msgnum < msgs.size; msgnum++)
-           if (!m_convert (mp, msgs.msgs[msgnum]))
-               done (1);
-       seq_setprev (mp);       /* set the previous-sequence */
-
-       if (!(cts = (CT *) calloc ((size_t) (mp->numsel + 1), sizeof(*cts))))
-           adios (NULL, "out of memory");
-       ctp = cts;
-
-       for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
-           if (is_selected(mp, msgnum)) {
-               char *msgnam;
-
-               msgnam = m_name (msgnum);
-               if ((ct = parse_mime (msgnam)))
-                   *ctp++ = ct;
-           }
-       }
-    }
-
-    if (!*cts)
-       done (1);
-
-    /*
-     * You can't give more than one of these flags
-     * at a time.
-     */
-    if (showsw + listsw + storesw + cachesw > 1)
-       adios (NULL, "can only use one of -show, -list, -store, -cache at same time");
-
-    /* If no action is specified, assume -show */
-    if (!listsw && !showsw && !storesw && !cachesw)
-       showsw = 1;
-
-    userrs = 1;
-    SIGNAL (SIGQUIT, quitser);
-    SIGNAL (SIGPIPE, pipeser);
-
-    /*
-     * Get the associated umask for the relevant contents.
-     */
-    for (ctp = cts; *ctp; ctp++) {
-       struct stat st;
-
-       ct = *ctp;
-       if (type_ok (ct, 1) && !ct->c_umask) {
-           if (stat (ct->c_file, &st) != NOTOK)
-               ct->c_umask = ~(st.st_mode & 0777);
-           else
-               ct->c_umask = ~m_gmprot();
-       }
-    }
-
-    /*
-     * List the message content
-     */
-    if (listsw)
-       list_all_messages (cts, headsw, sizesw, verbosw, debugsw);
-
-    /*
-     * Store the message content
-     */
-    if (storesw)
-       store_all_messages (cts);
-
-    /*
-     * Cache the message content
-     */
-    if (cachesw)
-       cache_all_messages (cts);
-
-    /*
-     * Show the message content
-     */
-    if (showsw)
-       show_all_messages (cts);
-
-    /* Now free all the structures for the content */
-    for (ctp = cts; *ctp; ctp++)
-       free_content (*ctp);
-
-    free ((char *) cts);
-    cts = NULL;
-
-    /* If reading from a folder, do some updating */
-    if (mp) {
-       context_replace (pfolder, folder);/* update current folder  */
-       seq_setcur (mp, mp->hghsel);      /* update current message */
-       seq_save (mp);                    /* synchronize sequences  */
-       context_save ();                  /* save the context file  */
-    }
-
-    done (0);
-    return 1;
-}
-
-
-static RETSIGTYPE
-pipeser (int i)
-{
-    if (i == SIGQUIT) {
-       unlink ("core");
-       fflush (stdout);
-       fprintf (stderr, "\n");
-       fflush (stderr);
-    }
-
-    done (1);
-    /* NOTREACHED */
-}
index a63b8ed..4a3589f 100644 (file)
@@ -300,13 +300,13 @@ show_content (CT ct, int serial, int alternate)
     char *cp, buffer[BUFSIZ];
     CI ci = &ct->c_ctinfo;
 
-    /* Check for mhn-show-type/subtype */
+    /* Check for mhshow-show-type/subtype */
     snprintf (buffer, sizeof(buffer), "%s-show-%s/%s",
                invo_name, ci->ci_type, ci->ci_subtype);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
 
-    /* Check for mhn-show-type */
+    /* Check for mhshow-show-type */
     snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
@@ -630,13 +630,13 @@ show_text (CT ct, int serial, int alternate)
     char *cp, buffer[BUFSIZ];
     CI ci = &ct->c_ctinfo;
 
-    /* Check for mhn-show-type/subtype */
+    /* Check for mhshow-show-type/subtype */
     snprintf (buffer, sizeof(buffer), "%s-show-%s/%s",
                invo_name, ci->ci_type, ci->ci_subtype);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
 
-    /* Check for mhn-show-type */
+    /* Check for mhshow-show-type */
     snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
@@ -666,13 +666,13 @@ show_multi (CT ct, int serial, int alternate)
     char *cp, buffer[BUFSIZ];
     CI ci = &ct->c_ctinfo;
 
-    /* Check for mhn-show-type/subtype */
+    /* Check for mhshow-show-type/subtype */
     snprintf (buffer, sizeof(buffer), "%s-show-%s/%s",
                invo_name, ci->ci_type, ci->ci_subtype);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_multi_aux (ct, serial, alternate, cp);
 
-    /* Check for mhn-show-type */
+    /* Check for mhshow-show-type */
     snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_multi_aux (ct, serial, alternate, cp);
@@ -1045,13 +1045,13 @@ show_message_rfc822 (CT ct, int serial, int alternate)
     char *cp, buffer[BUFSIZ];
     CI ci = &ct->c_ctinfo;
 
-    /* Check for mhn-show-type/subtype */
+    /* Check for mhshow-show-type/subtype */
     snprintf (buffer, sizeof(buffer), "%s-show-%s/%s",
                invo_name, ci->ci_type, ci->ci_subtype);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
 
-    /* Check for mhn-show-type */
+    /* Check for mhshow-show-type */
     snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type);
     if ((cp = context_find (buffer)) && *cp != '\0')
        return show_content_aux (ct, serial, alternate, cp, NULL);
index a1b5e2a..7c91184 100644 (file)
@@ -532,8 +532,8 @@ store_content (CT ct, CT p)
      * Get storage formatting string.
      *
      * 1) If we have storeproc defined, then use that
-     * 2) Else check for a mhn-store-<type>/<subtype> entry
-     * 3) Else check for a mhn-store-<type> entry
+     * 2) Else check for a mhstore-store-<type>/<subtype> entry
+     * 3) Else check for a mhstore-store-<type> entry
      * 4) Else if content is "message", use "+" (current folder)
      * 5) Else use string "%m%P.%s".
      */
index 3dda470..ec140d6 100644 (file)
@@ -246,7 +246,7 @@ finished:
 
     /*
      * Check if we should filter the message
-     * or add mhn directives
+     * or add mhbuild directives
      */
     if (filter) {
        fflush(out);
index 57ef007..b610ad8 100644 (file)
@@ -397,7 +397,7 @@ make_mime_composition_file_entry(char *file_name, int attachformat)
 
     /*
      * Check the file name for a suffix.  Scan the context for that suffix on a
-     * mhshow-suffix- entry.  We use these entries to be compatible with mhnshow,
+     * mhshow-suffix- entry.  We use these entries to be compatible with mhshow,
      * and there's no reason to make the user specify each suffix twice.  Context
      * entries of the form "mhshow-suffix-contenttype" in the name have the suffix
      * in the field, including the dot.