#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>
*/
typedef int (*qsort_comp) (const void *, const void *);
-/*
- * prototypes
- */
-void clear_screen (void); /* from termsbr.c */
-int SOprintf (char *, ...); /* from termsbr.c */
-int sc_width (void); /* from termsbr.c */
-
/*
* static prototypes
*/
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)
{
void
helpcmd (char **args)
{
- NMH_UNUSED (args);
-
int i;
+ NMH_UNUSED (args);
for (i = 0; hlpmsg[i]; i++) {
printf (hlpmsg[i], invo_name);
markcmd (char **args)
{
int addsw = 0, deletesw = 0, debugsw = 0;
- int listsw = 0, zerosw = 0, seqp = 0;
+ int listsw = 0, zerosw = 0;
+ size_t seqp = 0;
int msgp = 0, msgnum;
char *cp, buf[BUFSIZ];
char *seqs[NUMATTRS + 1], *msgs[MAXARGS];
void
pickcmd (char **args)
{
- int zerosw = 1, msgp = 0, seqp = 0;
+ int zerosw = 1, msgp = 0;
+ size_t seqp = 0;
int vecp = 0, hi, lo, msgnum;
char *cp, buf[BUFSIZ], *msgs[MAXARGS];
char *seqs[NUMATTRS], *vec[MAXARGS];
return;
seq_setprev (mp);
- if (!nshow && !getenv ("NOMHNPROC"))
+ if (!nshow)
for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++)
if (is_selected (mp, msgnum) && is_nontext (msgnum)) {
proc = showmimeproc;
fp = msh_ready (msgnum, 1);
- for (state = FLD;;)
- switch (state = m_getfld (state, name, buf, sizeof buf, fp)) {
+ for (state = FLD;;) {
+ int bufsz = sizeof buf;
+ switch (state = m_getfld (state, name, buf, &bufsz, fp)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
/*
* Check Content-Type field
*/
cp = add (buf, NULL);
while (state == FLDPLUS) {
- state = m_getfld (state, name, buf, sizeof buf, fp);
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
bp = cp;
if (!mh_strcasecmp (name, ENCODING_FIELD)) {
cp = add (buf, NULL);
while (state == FLDPLUS) {
- state = m_getfld (state, name, buf, sizeof buf, fp);
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, fp);
cp = add (buf, cp);
}
for (bp = cp; isspace (*bp); bp++)
* Just skip the rest of this header
* field and go to next one.
*/
- while (state == FLDPLUS)
- state = m_getfld (state, name, buf, sizeof(buf), fp);
+ while (state == FLDPLUS) {
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, fp);
+ }
break;
/*
default:
return 0;
}
+ }
}
zp = msh_ready (msgnum, 0);
for (state = FLD;;) {
- switch (state = m_getfld (state, name, buf, sizeof buf, zp)) {
+ int bufsz = sizeof buf;
+ switch (state = m_getfld (state, name, buf, &bufsz, zp)) {
case FLD:
- case FLDEOF:
case FLDPLUS:
if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
- state = m_getfld (state, name, buf, sizeof buf, zp);
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, zp);
bp = add (buf, bp);
}
if ((tw = dparsetime (bp)) == NULL)
else if (subjsw && !mh_strcasecmp(name, subjsw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
- state = m_getfld (state, name, buf, sizeof buf, zp);
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, zp);
bp = add (buf, bp);
}
msgp->m_scanl = sosmash(subjsw, bp);
else
subjsw = (char *)0;/* subject done, need date */
} else {
- while (state == FLDPLUS) /* flush this one */
- state = m_getfld (state, name, buf, sizeof buf, zp);
+ while (state == FLDPLUS) { /* flush this one */
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, zp);
+ }
}
continue;
case BODY:
- case BODYEOF:
case FILEEOF:
break;