]> diplodocus.org Git - nmh/blobdiff - uip/mshcmds.c
Moved all file static data in m_getfld.c into the
[nmh] / uip / mshcmds.c
index b46f753c4cf43e04fd2672477d5242376fa60e52..cdda3c99b5a52cecf7412ed7c884bb4d80280952 100644 (file)
@@ -15,7 +15,6 @@
 #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>
@@ -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;