Remove all the duplicate inconsistent prototypes from mhfree.c's users.
mts/smtp/smtp.h \
sbr/ctype-checked.h \
thirdparty/jsmn/jsmn.h \
+ uip/mhfree.h \
#
##
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
+#include "mhfree.h"
#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
/* mhcachesbr.c */
int find_cache (CT, int, int *, char *, char *, int);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-void free_ctinfo (CT);
-void free_encoding (CT, int);
-
/*
* static prototypes
*/
#include <h/mhparse.h>
#include <h/utils.h>
#include <h/signals.h>
+#include "mhfree.h"
#include <fcntl.h>
#define MHFIXMSG_SWITCHES \
/* mhmisc.c */
void flush_errors (void);
-/* mhfree.c */
-extern CT *cts;
-
/*
* static prototypes
*/
#include <h/utils.h>
#include <h/mime.h>
#include <h/mhparse.h>
+#include "mhfree.h"
/* The list of top-level contents to display */
CT *cts = NULL;
-/*
- * prototypes
- */
-void free_ctinfo (CT);
-void free_encoding (CT, int);
-void freects_done (int);
-
/*
* static prototypes
*/
--- /dev/null
+/* mhfree.h -- routines to free MIME-message data structures.
+ *
+ * This code is Copyright (c) 2017, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
+ */
+
+void free_ctinfo(CT);
+void free_encoding(CT, int);
+void freects_done(int) NORETURN;
+
+extern CT *cts;
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "mhfree.h"
#define MHLIST_SWITCHES \
X("check", 0, CHECKSW) \
int type_ok (CT, int);
void flush_errors (void);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
/*
* static prototypes
*/
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "mhfree.h"
#define MHN_SWITCHES \
X("auto", 0, AUTOSW) \
/* mhcachesbr.c */
void cache_all_messages (CT *);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
/*
* static prototypes
*/
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
+#include "mhfree.h"
#ifdef HAVE_ICONV
# include <iconv.h>
#endif /* HAVE_ICONV */
int type_ok (CT, int);
void content_error (char *, CT, char *, ...);
-/* mhfree.c */
-void free_encoding (CT, int);
-
/*
* static prototypes
*/
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "mhfree.h"
#define MHSHOW_SWITCHES \
X("check", 0, CHECKSW) \
int type_ok (CT, int);
void flush_errors (void);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
/*
* static prototypes
*/
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "mhfree.h"
#define MHSTORE_SWITCHES \
X("auto", 0, AUTOSW) \
int type_ok (CT, int);
void flush_errors (void);
-/* mhfree.c */
-extern CT *cts;
-void freects_done (int) NORETURN;
-
/*
* static prototypes
*/