* mshcmds.c -- command handlers in msh
*
* $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.
*/
#include <h/mh.h>
#include <h/dropsbr.h>
#include <h/fmt_scan.h>
#include <h/scansbr.h>
-#include <zotnet/tws/tws.h>
-#include <zotnet/mts/mts.h>
+#include <h/tws.h>
+#include <h/mts.h>
#include <errno.h>
#include <setjmp.h>
#include <signal.h>
#include <h/msh.h>
#include <h/picksbr.h>
+#include <h/utils.h>
-extern int errno;
static char delim3[] = "-------"; /* from burst.c */
static void copy_message (int, FILE *);
static void copy_digest (int, FILE *);
+/* from mhlsbr.c */
+int mhlsbr (int, char **, FILE *(*)());
void
forkcmd (char **args, char *pgm)
#define DINWTSW 11
{ "nowhatnowproc", 0 },
#define DIHELP 12
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define EXNVBSW 5
{ "noverbose", 0 },
#define EXHELP 6
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define FINPRC 8
{ "normmproc", 0 },
#define FIHELP 9
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define FLLISW 14
{ "list", 0 },
#define FLHELP 15
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define FONWTSW 16
{ "nowhatnow", 0 },
#define FOHELP 17
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define MNZERSW 7
{ "nozero", 0 },
#define MHELP 8
- { "help", 4 },
+ { "help", 0 },
#define MDBUGSW 9
{ "debug", -5 },
{ NULL, 0 }
#define MHNNVERBSW 23
{ "noverbose", 0 },
#define MHNHELPSW 24
- { "help", 4 },
+ { "help", 0 },
#define MHNPROGSW 25
{ "moreproc program", -4 },
#define MHNNPROGSW 26
#define PAFISW 0
{ "file name", 0 },
#define PAHELP 1
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
-static mbx_style = MMDF_FORMAT;
+static int mbx_style = MMDF_FORMAT;
void
packcmd (char **args)
#define PINLISW 21
{ "nolist", 0 },
#define PIHELP 22
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define REWIDSW 19
{ "width columns", 0 },
#define REHELP 20
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
static struct swit rmmswit[] = {
#define RMHELP 0
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
#define SCWID 6
{ "width columns", 0 },
#define SCHELP 7
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
if (*dp == '\\' || *dp == '"' || *dp == '\n')
i++;
i++;
- if ((ep = malloc ((unsigned) i)) == NULL)
- adios (NULL, "out of memory");
+ ep = mh_xmalloc ((unsigned) i);
for (dp = nfs, fp = ep; *dp; dp++) {
if (*dp == '\n') {
*fp++ = '\\', *fp++ = 'n';
#define SHNHEAD 9
{ "noheader", 3 },
#define SHHELP 10
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
char *cp, *proc = showproc, buf[BUFSIZ];
char *msgs[MAXARGS], *vec[MAXARGS];
- if (!strcasecmp (cmd_name, "next"))
+ if (!mh_strcasecmp (cmd_name, "next"))
mode = 1;
else
- if (!strcasecmp (cmd_name, "prev"))
+ if (!mh_strcasecmp (cmd_name, "prev"))
mode = -1;
while ((cp = *args++)) {
if (*cp == '-')
for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
if (is_selected (mp, msgnum) && is_nontext (msgnum)) {
proc = showmimeproc;
- vec[vecp++] = "-show";
vec[vecp++] = "-file";
vec[vecp] = NULL;
goto finish;
/*
* 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) {
#define SONVERB 6
{ "noverbose", 0 },
#define SOHELP 7
- { "help", 4 },
+ { "help", 0 },
{ NULL, 0 }
};
case FLD:
case FLDEOF:
case FLDPLUS:
- if (!strcasecmp (name, datesw)) {
+ if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
break; /* all done! */
gotdate++;
}
- else if (subjsw && !strcasecmp(name, subjsw)) {
+ else if (subjsw && !mh_strcasecmp(name, subjsw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
if (s) {
cp = s;
dp = s; /* dst pointer */
- if (!strcasecmp (subj, "subject"))
+ if (!mh_strcasecmp (subj, "subject"))
while ((c = *cp)) {
if (! isspace(c)) {
if(uprf(cp, "re:"))
strncpy (tmpfil, m_scratch ("", invo_name), sizeof(tmpfil));
if ((out = fopen (tmpfil, "w")) == NULL) {
int olderr;
- extern int errno;
char newfil[80];
olderr = errno;