Remove the user's copies of the declarations.
A static struct swit caches[] was declared everywhere that included
h/mhcachesbr.h. The larger number of includers causes `variable not
used' for `caches'. Move that declaration to uip/mhcachesbr.c and have
an exported `cache_policy' symbol that points to it for the existing
users.
#define X(sw, minchars, id) id,
DEFINE_SWITCH_ENUM(CACHE);
#undef X
+extern struct swit *cache_policy;
-#define X(sw, minchars, id) { sw, minchars, id },
-DEFINE_SWITCH_ARRAY(CACHE, caches);
-#undef X
+void cache_all_messages(CT *cts);
+int find_cache(CT ct, int policy, int *writing, char *id,
+ char *buffer, int buflen);
+
+extern int rcachesw;
+extern int wcachesw;
+
+extern char *cache_public;
+extern char *cache_private;
DEFINE_SWITCH_ARRAY(MIMEENCODING, encodingswitches);
#undef X
-/* mhcachesbr.c */
-extern int rcachesw;
-extern int wcachesw;
-extern char *cache_public;
-extern char *cache_private;
-
int debugsw = 0;
int listsw = 0;
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);
extern int rfc934sw;
extern int contentidsw;
-/* cache policies */
-extern int rcachesw; /* mhcachesbr.c */
-extern int wcachesw; /* mhcachesbr.c */
-
static char prefix[] = "----- =_aaaaaaaaaa";
struct attach_list {
#endif
#include <time.h>
+#define X(sw, minchars, id) { sw, minchars, id },
+DEFINE_SWITCH_ARRAY(CACHE, caches);
+#undef X
+struct swit *cache_policy = caches;
+
extern int debugsw;
/* cache policies */
void content_error (char *, CT, char *, ...);
void flush_errors (void);
-/*
- * prototypes
- */
-void cache_all_messages (CT *);
-int find_cache (CT, int, int *, char *, char *, int);
-
/*
* static prototypes
*/
#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;
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);
#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 nolist;
int type_ok (CT, int);
void flush_errors (void);
-/* mhcachesbr.c */
-void cache_all_messages (CT *);
-
/*
* 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);
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
+#include <h/mhcachesbr.h>
#include "../sbr/m_mktemp.h"
#include "mhfree.h"
#ifdef HAVE_ICONV
extern int debugsw;
-/* cache policies */
-extern int rcachesw; /* mhcachesbr.c */
-extern int wcachesw; /* mhcachesbr.c */
-
int checksw = 0; /* check Content-MD5 field */
/*
};
-/* mhcachesbr.c */
-int find_cache (CT, int, int *, char *, char *, int);
-
/* mhmisc.c */
int part_ok (CT);
int type_ok (CT, int);
#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 */
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);
#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;
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);