-
-/*
- * mhshow.c -- display the contents of MIME messages
+/* mhshow.c -- display the contents of MIME 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
#include <h/md5.h>
#include <h/mts.h>
#include <h/tws.h>
+#include <h/fmt_scan.h>
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "../sbr/m_maildir.h"
+#include "../sbr/m_popen.h"
+#include "mhfree.h"
+#include "mhshowsbr.h"
#define MHSHOW_SWITCHES \
X("check", 0, CHECKSW) \
#undef X
-/* mhcachesbr.c */
-extern int rcachesw;
-extern int wcachesw;
-extern char *cache_public;
-extern char *cache_private;
-
-/* mhshowsbr.c */
-extern char *progsw;
-extern int nomore; /* flags for moreproc/header display */
-extern char *formsw;
-extern char *folder;
-extern char *headerform;
-extern char *markerform;
-extern int headersw;
-
/* mhmisc.c */
extern int npart;
extern int ntype;
int type_ok (CT, int);
void flush_errors (void);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
/*
* static prototypes
*/
do_cache:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
- switch (*icachesw = smatch (cp, caches)) {
+ switch (*icachesw = smatch (cp, cache_policy)) {
case AMBIGSW:
- ambigsw (cp, caches);
+ ambigsw (cp, cache_policy);
done (1);
case UNKWNSW:
adios (NULL, "%s unknown", cp);
case FORMSW:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
- if (formsw)
- free (formsw);
+ mh_xfree(formsw);
formsw = getcpy (etcpath (cp));
continue;
* check if message is coming from file
*/
if (file) {
- if (!(cts = (CT *) mh_xcalloc ((size_t) 2, sizeof(*cts))))
- adios (NULL, "out of memory");
+ cts = mh_xcalloc(2, sizeof *cts);
ctp = cts;
if ((ct = parse_mime (file)))
seq_setprev (mp); /* set the Previous-Sequence */
seq_setunseen (mp, 1); /* unset the Unseen-Sequence */
- if (!(cts = (CT *) mh_xcalloc ((size_t) (mp->numsel + 1), sizeof(*cts))))
- adios (NULL, "out of memory");
+ cts = mh_xcalloc(mp->numsel + 1, sizeof *cts);
ctp = cts;
/*
for (ctp = cts; *ctp; ctp++)
free_content (*ctp);
- free ((char *) cts);
+ free(cts);
cts = NULL;
if (concatsw)