From f480c03187724e54e5391ee61b810827da319a6c Mon Sep 17 00:00:00 2001 From: markus schnalke Date: Wed, 5 Oct 2011 21:13:58 +0200 Subject: [PATCH] Removed mhn, as it was already replaced by mhlist/mhshow/mhstore. --- INSTALL | 20 +- acconfig.h | 10 +- config/config.c | 4 +- docs/COMPLETION-BASH | 2 +- docs/COMPLETION-TCSH | 1 - docs/COMPLETION-ZSH | 8 - etc/mhl.headers | 2 +- man/Makefile.in | 2 +- man/mh-chart.man | 38 --- man/mhn.man | 54 ---- man/nmh.man | 1 - uip/Makefile.in | 7 +- uip/forw.c | 2 +- uip/mhn.c | 703 -------------------------------------------------- uip/mhshowsbr.c | 16 +- uip/mhstoresbr.c | 4 +- uip/replsbr.c | 2 +- uip/sendsbr.c | 2 +- 18 files changed, 35 insertions(+), 843 deletions(-) delete mode 100644 man/mhn.man delete mode 100644 uip/mhn.c diff --git a/INSTALL b/INSTALL index 6811964..179d11d 100644 --- 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 . + described in section 9.4 of the book "MH & xmh: Email for Users and + Programmers", 3rd edition, by Jerry Peek, on the Internet at + . 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 diff --git a/acconfig.h b/acconfig.h index 8162798..c8882cb 100644 --- a/acconfig.h +++ b/acconfig.h @@ -75,11 +75,11 @@ #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 diff --git a/config/config.c b/config/config.c index 671292e..f03cd19 100644 --- a/config/config.c +++ b/config/config.c @@ -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 diff --git a/docs/COMPLETION-BASH b/docs/COMPLETION-BASH index f759c35..d6496f7 100644 --- a/docs/COMPLETION-BASH +++ b/docs/COMPLETION-BASH @@ -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 diff --git a/docs/COMPLETION-TCSH b/docs/COMPLETION-TCSH index f75933e..02af265 100644 --- a/docs/COMPLETION-TCSH +++ b/docs/COMPLETION-TCSH @@ -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% diff --git a/docs/COMPLETION-ZSH b/docs/COMPLETION-ZSH index 5c10cc8..d2ba02c 100644 --- a/docs/COMPLETION-ZSH +++ b/docs/COMPLETION-ZSH @@ -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 diff --git a/etc/mhl.headers b/etc/mhl.headers index 8fee181..795eab2 100644 --- a/etc/mhl.headers +++ b/etc/mhl.headers @@ -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 diff --git a/man/Makefile.in b/man/Makefile.in index 589a0c8..cee0747 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -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. \ diff --git a/man/mh-chart.man b/man/mh-chart.man index 4414421..0ea33b0 100644 --- a/man/mh-chart.man +++ b/man/mh-chart.man @@ -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 index fc682ef..0000000 --- a/man/mhn.man +++ /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) diff --git a/man/nmh.man b/man/nmh.man index 4c2b59a..9b1f955 100644 --- a/man/nmh.man +++ b/man/nmh.man @@ -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 diff --git a/uip/Makefile.in b/uip/Makefile.in index 2423185..9118045 100644 --- a/uip/Makefile.in +++ b/uip/Makefile.in @@ -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) diff --git a/uip/forw.c b/uip/forw.c index ac0c4c5..7668b4d 100644 --- a/uip/forw.c +++ b/uip/forw.c @@ -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 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_SYS_WAIT_H -# include -#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 */ -} diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index a63b8ed..4a3589f 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -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); diff --git a/uip/mhstoresbr.c b/uip/mhstoresbr.c index a1b5e2a..7c91184 100644 --- a/uip/mhstoresbr.c +++ b/uip/mhstoresbr.c @@ -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-/ entry - * 3) Else check for a mhn-store- entry + * 2) Else check for a mhstore-store-/ entry + * 3) Else check for a mhstore-store- entry * 4) Else if content is "message", use "+" (current folder) * 5) Else use string "%m%P.%s". */ diff --git a/uip/replsbr.c b/uip/replsbr.c index 3dda470..ec140d6 100644 --- a/uip/replsbr.c +++ b/uip/replsbr.c @@ -246,7 +246,7 @@ finished: /* * Check if we should filter the message - * or add mhn directives + * or add mhbuild directives */ if (filter) { fflush(out); diff --git a/uip/sendsbr.c b/uip/sendsbr.c index 57ef007..b610ad8 100644 --- a/uip/sendsbr.c +++ b/uip/sendsbr.c @@ -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. -- 1.7.10.4