/*
* show.c -- show/list messages
*
- * $Id$
- *
* 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.
{ "draft", 0 },
#define FILESW 13
{ "file file", -4 }, /* interface from showfile */
-#define VERSIONSW 14
+#define FMTPROCSW 14
+ { "fmtproc program", 0 },
+#define NFMTPROCSW 15
+ { "nofmtproc", 0 },
+#define VERSIONSW 16
{ "version", 0 },
-#define HELPSW 15
+#define HELPSW 17
{ "help", 0 },
{ NULL, 0 }
};
*/
static int is_nontext(char *);
-/* prototype from mhlsbr.c */
-int mhl (int, char **);
-
#define SHOW 0
#define NEXT 1
#define PREV 2
char *cp, *maildir, *file = NULL, *folder = NULL, *proc;
char buf[BUFSIZ], **argp, **arguments;
char *msgs[MAXARGS], *vec[MAXARGS];
- struct msgs *mp;
+ struct msgs *mp = NULL;
#ifdef LOCALE
setlocale(LC_ALL, "");
done (1);
case UNKWNSW:
case NPROGSW:
+ case NFMTPROCSW:
vec[vecp++] = --cp;
continue;
"%s [+folder] %s[switches] [switches for showproc]",
invo_name, mode == SHOW ? "[msgs] ": "");
print_help (buf, switches, 1);
- done (1);
+ done (0);
case VERSIONSW:
print_version(invo_name);
- done (1);
+ done (0);
case DRFTSW:
if (file)
case PROGSW:
case LENSW:
case WIDTHSW:
+ case FMTPROCSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
if (folder)
adios (NULL, "only one folder at a time!");
else
- folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+ folder = pluspath (cp);
} else {
if (mode != SHOW)
goto usage;
proc = catproc;
} else {
/* check if any messages are non-text MIME messages */
- if (checkmime && !getenv ("NOMHNPROC")) {
+ if (checkmime) {
if (!draftsw && !file) {
/* loop through selected messages and check for MIME */
for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
return 0; /* dead code to satisfy the compiler */
}
-/*
- * Cheat: we are loaded with adrparse, which wants a routine called
- * OfficialName(). We call adrparse:getm() with the correct arguments
- * to prevent OfficialName() from being called. Hence, the following
- * is to keep the loader happy.
- */
-
-char *
-OfficialName (char *name)
-{
- return name;
-}
-
/*
* Check if a message or file contains any non-text parts
is_nontext (char *msgnam)
{
int result, state;
- char *bp, *cp, *dp;
+ unsigned char *bp, *dp;
+ char *cp;
char buf[BUFSIZ], name[NAMESZ];
FILE *fp;