X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/961d5bf9387fcaa225caa2bc72c71d8bc8d64849..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/show.c diff --git a/uip/show.c b/uip/show.c index 32917398..86e8e5b5 100644 --- a/uip/show.c +++ b/uip/show.c @@ -1,5 +1,4 @@ -/* - * show.c -- show/list messages +/* show.c -- show/list messages * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -9,6 +8,7 @@ #include #include #include +#include "sbr/m_maildir.h" #define SHOW_SWITCHES \ X("checkmime", 0, CHECKMIMESW) \ @@ -96,6 +96,7 @@ main (int argc, char **argv) goto non_mhl_switches; case NHEADSW: headersw = 0; + /* FALLTHRU */ case CONCATSW: case NCONCATSW: non_mhl_switches: @@ -187,13 +188,11 @@ usage: if (*cp == '+' || *cp == '@') { if (folder) adios (NULL, "only one folder at a time!"); - else - folder = pluspath (cp); + folder = pluspath (cp); } else { if (mode != SHOW) goto usage; - else - app_msgarg(&msgs, cp); + app_msgarg(&msgs, cp); } } @@ -259,7 +258,7 @@ usage: for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) if (is_selected(mp, msgnum)) - app_msgarg(&vec, getcpy (m_name (msgnum))); + app_msgarg(&vec, mh_xstrdup(m_name (msgnum))); seq_setcur (mp, mp->hghsel); /* update current message */ seq_save (mp); /* synchronize sequences */ @@ -298,7 +297,7 @@ go_to_it: ; } if (folder && !draftsw && !file) - m_putenv ("mhfolder", folder); + setenv("mhfolder", folder, 1); if (strcmp (r1bindex (proc, '/'), "cat") == 0) { @@ -368,16 +367,16 @@ is_nontext (char *msgnam) { int result, state; char *bp, *dp, *cp; - char buf[BUFSIZ], name[NAMESZ]; + char buf[NMH_BUFSIZ], name[NAMESZ]; FILE *fp; - m_getfld_state_t gstate = 0; + m_getfld_state_t gstate; if ((fp = fopen (msgnam, "r")) == NULL) return 0; - + gstate = m_getfld_state_init(fp); for (;;) { int bufsz = sizeof buf; - switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) { + switch (state = m_getfld2(&gstate, name, buf, &bufsz)) { case FLD: case FLDPLUS: /* @@ -387,10 +386,10 @@ is_nontext (char *msgnam) int passno; char c; - cp = add (buf, NULL); + cp = mh_xstrdup(buf); while (state == FLDPLUS) { bufsz = sizeof buf; - state = m_getfld (&gstate, name, buf, &bufsz, fp); + state = m_getfld2(&gstate, name, buf, &bufsz); cp = add (buf, cp); } bp = cp; @@ -414,7 +413,7 @@ invalid: continue; case '(': i++; - /* and fall... */ + continue; default: continue; case ')': @@ -447,7 +446,7 @@ invalid: if (*dp) { if ((result = !uprf (dp, "charset"))) goto out; - dp += sizeof("charset") - 1; + dp += LEN("charset"); while (isspace ((unsigned char) *dp)) dp++; if (*dp++ != '=') @@ -492,10 +491,10 @@ out: * Check Content-Transfer-Encoding field */ if (!strcasecmp (name, ENCODING_FIELD)) { - cp = add (buf, NULL); + cp = mh_xstrdup(buf); while (state == FLDPLUS) { bufsz = sizeof buf; - state = m_getfld (&gstate, name, buf, &bufsz, fp); + state = m_getfld2(&gstate, name, buf, &bufsz); cp = add (buf, cp); } for (bp = cp; isspace ((unsigned char) *bp); bp++) @@ -522,7 +521,7 @@ out: */ while (state == FLDPLUS) { bufsz = sizeof buf; - state = m_getfld (&gstate, name, buf, &bufsz, fp); + state = m_getfld2(&gstate, name, buf, &bufsz); } break;