-
-/*
- * mhstore.c -- store the contents of MIME messages
+/* mhstore.c -- store 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/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "../sbr/m_maildir.h"
+#include "mhfree.h"
#define MHSTORE_SWITCHES \
X("auto", 0, AUTOSW) \
#undef X
-/* mhcachesbr.c */
-extern int rcachesw;
-extern int wcachesw;
-extern char *cache_public;
-extern char *cache_private;
-
/* 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);
if (*cp == '+' || *cp == '@') {
if (folder)
adios (NULL, "only one folder at a time!");
- else
- folder = pluspath (cp);
+ folder = pluspath (cp);
} else
app_msgarg(&msgs, cp);
}
/*
* Cache the current directory before we do any chdirs()'s.
*/
- cwd = add(pwd(), NULL);
+ cwd = mh_xstrdup(pwd());
if (!context_find ("path"))
free (path ("./", TFOLDER));
* 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))) {
*ctp++ = ct;
if (outfile) {
- ct->c_storage = add (outfile, NULL);
+ ct->c_storage = mh_xstrdup(outfile);
}
}
} else {
done (1);
seq_setprev (mp); /* set the previous-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 (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
if ((ct = parse_mime (msgnam))) {
*ctp++ = ct;
if (outfile) {
- ct->c_storage = add (outfile, NULL);
+ ct->c_storage = mh_xstrdup(outfile);
}
}
}