-/* mhn.c -- display, list, cache, or store the contents of MIME messages
+/* mhn.c -- display, list, or 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/mh.h"
+#include "sbr/m_name.h"
+#include "sbr/m_gmprot.h"
+#include "sbr/getarguments.h"
+#include "sbr/seq_setprev.h"
+#include "sbr/seq_setcur.h"
+#include "sbr/seq_save.h"
+#include "sbr/smatch.h"
+#include "sbr/m_convert.h"
+#include "sbr/getfolder.h"
+#include "sbr/folder_read.h"
+#include "sbr/context_save.h"
+#include "sbr/context_replace.h"
+#include "sbr/context_find.h"
#include "sbr/readconfig.h"
#include "sbr/ambigsw.h"
#include "sbr/path.h"
#include "sbr/error.h"
#include <fcntl.h>
#include "h/signals.h"
-#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/done.h"
#include "h/utils.h"
#include "mhmisc.h"
#define MHN_SWITCHES \
X("auto", 0, AUTOSW) \
X("noauto", 0, NAUTOSW) \
- X("cache", 0, CACHESW) \
- X("nocache", 0, NCACHESW) \
- X("check", 0, CHECKSW) \
- X("nocheck", 0, NCHECKSW) \
+ X("check", -5, CHECKSW) \
+ X("nocheck", -7, NCHECKSW) \
X("headers", 0, HEADSW) \
X("noheaders", 0, NHEADSW) \
X("list", 0, LISTSW) \
X("form formfile", 0, FORMSW) \
X("part number", 0, PARTSW) \
X("type content", 0, TYPESW) \
- X("rcache policy", 0, RCACHESW) \
- X("wcache policy", 0, WCACHESW) \
X("version", 0, VERSIONSW) \
X("help", 0, HELPSW) \
/* \
/*
* what action to take?
*/
-static bool cachesw;
static bool listsw;
static bool showsw;
static bool storesw;
bool sizesw = true;
bool headsw = true;
bool autosw = false;
- int msgnum, *icachesw;
+ int msgnum;
char *cp, *file = NULL, *folder = NULL;
char *maildir, buf[100], **argp;
char **arguments;
autosw = false;
continue;
- case CACHESW:
- cachesw = true;
- continue;
- case NCACHESW:
- cachesw = false;
- continue;
-
- case RCACHESW:
- icachesw = &rcachesw;
- goto do_cache;
- case WCACHESW:
- icachesw = &wcachesw;
-do_cache:
- if (!(cp = *argp++) || *cp == '-')
- die("missing argument to %s", argp[-2]);
- switch (*icachesw = smatch (cp, cache_policy)) {
- case AMBIGSW:
- ambigsw (cp, cache_policy);
- done (1);
- case UNKWNSW:
- die("%s unknown", cp);
- default:
- break;
- }
- continue;
-
case CHECKSW:
- checksw++;
- continue;
case NCHECKSW:
- checksw = 0;
+ /* Currently a NOP */
continue;
case HEADSW:
fclose (fp);
}
- /* Check for public cache location */
- if ((cache_public = context_find (nmhcache)) && *cache_public != '/')
- cache_public = NULL;
-
- /* Check for private cache location */
- if (!(cache_private = context_find (nmhprivcache)))
- cache_private = ".cache";
- cache_private = mh_xstrdup(m_maildir(cache_private));
-
/*
* Cache the current directory before we do any chdirs()'s.
*/
char *vec[MAXARGS];
int vecp;
- if (showsw || storesw || cachesw)
- die("cannot use -build with -show, -store, -cache");
+ if (showsw || storesw)
+ die("cannot use -build with -show, -store");
if (msgs.size < 1)
die("need to specify a %s composition file", invo_name);
if (msgs.size > 1)
/*
* Process a mhn composition file (old MH style)
*/
- if (msgs.size == 1 && !folder && !npart && !cachesw
+ if (msgs.size == 1 && !folder && !npart
&& !showsw && !storesw && !ntype && !file
&& (cp = getenv ("mhdraft"))
&& strcmp (cp, msgs.msgs[0]) == 0) {
* You can't give more than one of these flags
* at a time.
*/
- if (showsw + listsw + storesw + cachesw > 1)
- die("can only use one of -show, -list, -store, -cache at same time");
+ if (showsw + listsw + storesw > 1)
+ die("can only use one of -show, -list, -store at same time");
/* If no action is specified, assume -show */
- if (!listsw && !showsw && !storesw && !cachesw)
+ if (!listsw && !showsw && !storesw)
showsw = true;
userrs = true;
* Store the message content
*/
if (storesw) {
- info = mhstoreinfo_create (cts, cwd, "always", autosw, verbosw);;
+ info = mhstoreinfo_create (cts, cwd, "always", autosw, verbosw);
store_all_messages (info);
mhstoreinfo_free (info);
}
context_save (); /* save the context file */
}
- /*
- * Cache the message content
- */
- if (cachesw)
- cache_all_messages (cts);
-
/*
* Show the message content
*/