X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/93cf33c07eed0e56b4f3a0d1c07ff183ac1510ef..83a46f99f22d85668aec9f7de2d16ddd015359df:/uip/mshcmds.c diff --git a/uip/mshcmds.c b/uip/mshcmds.c index b46f753c..cdda3c99 100644 --- a/uip/mshcmds.c +++ b/uip/mshcmds.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -33,13 +32,6 @@ static FILE *mhlfp; */ 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 */ @@ -59,9 +51,6 @@ static int process (int, char *, int, char **); 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) { @@ -1086,9 +1075,8 @@ static char *hlpmsg[] = { void helpcmd (char **args) { - NMH_UNUSED (args); - int i; + NMH_UNUSED (args); for (i = 0; hlpmsg[i]; i++) { printf (hlpmsg[i], invo_name); @@ -1126,7 +1114,8 @@ void 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]; @@ -1635,7 +1624,8 @@ static struct swit pickswit[] = { 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]; @@ -2283,7 +2273,7 @@ showcmd (char **args) 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; @@ -2445,11 +2435,11 @@ is_nontext (int msgnum) 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 */ @@ -2459,7 +2449,8 @@ is_nontext (int msgnum) 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; @@ -2562,7 +2553,8 @@ out: 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++) @@ -2586,8 +2578,10 @@ out: * 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; /* @@ -2597,6 +2591,7 @@ out: default: return 0; } + } } @@ -2752,14 +2747,15 @@ get_fields (char *datesw, char *subjsw, int msgnum, struct Msg *msgp) 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) @@ -2776,7 +2772,8 @@ get_fields (char *datesw, char *subjsw, int msgnum, struct Msg *msgp) 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); @@ -2785,13 +2782,14 @@ get_fields (char *datesw, char *subjsw, int msgnum, struct Msg *msgp) 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;