/*
* 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, "");
/* read user profile/context */
context_read();
- if (!strcasecmp (invo_name, "next")) {
+ if (!mh_strcasecmp (invo_name, "next")) {
mode = NEXT;
- } else if (!strcasecmp (invo_name, "prev")) {
+ } else if (!mh_strcasecmp (invo_name, "prev")) {
mode = PREV;
}
arguments = getarguments (invo_name, argc, argv, 1);
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;
/*
* Check Content-Type field
*/
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
int passno;
char c;
if (!*bp)
goto invalid;
if (passno > 1) {
- if ((result = (strcasecmp (bp, "plain") != 0)))
+ if ((result = (mh_strcasecmp (bp, "plain") != 0)))
goto out;
*dp = c;
for (dp++; isspace (*dp); dp++)
/* Check the character set */
result = !check_charset (dp, strlen (dp));
} else {
- if (!(result = (strcasecmp (bp, "text") != 0))) {
+ if (!(result = (mh_strcasecmp (bp, "text") != 0))) {
*dp = c;
bp = dp;
passno = 2;
/*
* Check Content-Transfer-Encoding field
*/
- if (!strcasecmp (name, ENCODING_FIELD)) {
+ if (!mh_strcasecmp (name, ENCODING_FIELD)) {
cp = add (buf, NULL);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), fp);
for (dp = bp; istoken (*dp); dp++)
continue;
*dp = '\0';
- result = (strcasecmp (bp, "7bit")
- && strcasecmp (bp, "8bit")
- && strcasecmp (bp, "binary"));
+ result = (mh_strcasecmp (bp, "7bit")
+ && mh_strcasecmp (bp, "8bit")
+ && mh_strcasecmp (bp, "binary"));
free (cp);
if (result) {