#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "mhmisc.h"
+#include "sbr/m_maildir.h"
#include "mhfree.h"
#define MHLIST_SWITCHES \
X("part number", 0, PARTSW) \
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("changecur", 0, CHGSW) \
DEFINE_SWITCH_ARRAY(MHLIST, switches);
#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;
-extern char *parts[NPARTS + 1];
-extern char *types[NTYPES + 1];
-extern int userrs;
-
-/* mhparse.c */
-extern char *preferred_types[];
-extern char *preferred_subtypes[];
-extern int npreferred;
-
/*
* This is currently needed to keep mhparse happy.
* This needs to be changed.
#define quitser pipeser
-/* mhparse.c */
-CT parse_mime (char *);
-
-/* mhmisc.c */
-int part_ok (CT);
-int type_ok (CT, int);
-void flush_errors (void);
-
/*
* 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 (npreferred >= NPREFS)
adios (NULL, "too many preferred types (starting with %s), %d max",
cp, NPREFS);
- preferred_types[npreferred] = cp;
+ mime_preference[npreferred].type = cp;
cp = strchr(cp, '/');
if (cp) *cp++ = '\0';
- preferred_subtypes[npreferred++] = cp;
+ mime_preference[npreferred++].subtype = cp;
+ continue;
+
+ case NPREFERSW:
+ npreferred = 0;
continue;
case FILESW:
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);
}