X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/dbdbd49d59ae5c14e66b1c148a63b8abc9d076ab..23816efd3e8e294e8f1c1ce811ac3a1cd15d334e:/uip/mhstore.c diff --git a/uip/mhstore.c b/uip/mhstore.c index e09be9de..11edb398 100644 --- a/uip/mhstore.c +++ b/uip/mhstore.c @@ -5,17 +5,34 @@ * complete copyright information. */ -#include +#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/print_version.h" +#include "sbr/print_help.h" +#include "sbr/error.h" #include -#include -#include -#include -#include -#include -#include -#include +#include "h/signals.h" +#include "h/mts.h" +#include "h/tws.h" +#include "h/mime.h" +#include "h/mhparse.h" #include "h/done.h" -#include +#include "h/utils.h" #include "mhmisc.h" #include "sbr/m_maildir.h" #include "mhfree.h" @@ -23,8 +40,8 @@ #define MHSTORE_SWITCHES \ X("auto", 0, AUTOSW) \ X("noauto", 0, NAUTOSW) \ - X("check", 0, CHECKSW) \ - X("nocheck", 0, NCHECKSW) \ + X("check", -5, CHECKSW) \ + X("nocheck", -7, NCHECKSW) \ X("verbose", 0, VERBSW) \ X("noverbose", 0, NVERBSW) \ X("file file", 0, FILESW) /* interface from show */ \ @@ -33,8 +50,6 @@ X("type content", 0, TYPESW) \ X("prefer content", 0, PREFERSW) \ X("noprefer", 0, NPREFERSW) \ - X("rcache policy", 0, RCACHESW) \ - X("wcache policy", 0, WCACHESW) \ X("version", 0, VERSIONSW) \ X("help", 0, HELPSW) \ X("clobber always|auto|suffix|ask|never", 0, CLOBBERSW) \ @@ -63,8 +78,10 @@ static void pipeser (int); int main (int argc, char **argv) { + int msgnum; + bool autosw = false; /* verbosw defaults to 1 for backward compatibility. */ - int msgnum, *icachesw, autosw = 0, verbosw = 1; + bool verbosw = true; const char *clobbersw = "always"; char *cp, *file = NULL, *outfile = NULL, *folder = NULL; char *maildir, buf[100], **argp; @@ -106,36 +123,15 @@ main (int argc, char **argv) done (0); case AUTOSW: - autosw++; + autosw = true; continue; case NAUTOSW: - autosw = 0; - 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; - } + autosw = false; continue; case CHECKSW: - checksw++; - continue; case NCHECKSW: - checksw = 0; + /* Currently a NOP */ continue; case PARTSW: @@ -185,10 +181,10 @@ do_cache: continue; case VERBSW: - verbosw = 1; + verbosw = true; continue; case NVERBSW: - verbosw = 0; + verbosw = false; continue; case CLOBBERSW: if (!(cp = *argp++) || *cp == '-') @@ -232,15 +228,6 @@ do_cache: 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. */ @@ -313,7 +300,7 @@ do_cache: if (!*cts) done (1); - userrs = 1; + userrs = true; SIGNAL (SIGQUIT, quitser); SIGNAL (SIGPIPE, pipeser);