* This macro is for use by scan, for example, so that platforms with
* a small BUFSIZ can easily allocate larger buffers.
*/
-#define NMH_BUFSIZ (BUFSIZ>=8192 ? BUFSIZ : 8192)
+#define NMH_BUFSIZ max(BUFSIZ, 8192)
#ifndef FALSE
#define FALSE false
* terminating NUL. */
#define LEN(s) (sizeof (s) - 1)
+/* FENDNULL fends off NULL by giving an empty string instead. */
+#define FENDNULL(s) ((s) ? (s) : "")
+
/*
* char array that keeps track of size in both bytes and characters
* Usage note:
#define other_files(mp) ((mp)->msgflags & OTHERS)
#define set_other_files(mp) ((mp)->msgflags |= OTHERS)
-#define NULLMP ((struct msgs *) 0)
-
/*
* m_getfld() message parsing
*/
#define MS_DEFAULT 0 /* default (one msg per file) */
#define MS_UNKNOWN 1 /* type not known yet */
#define MS_MBOX 2 /* Unix-style "from" lines */
-#define MS_MMDF 3 /* string mmdlm2 */
+#define MS_MMDF 3 /* string MMDF_DELIM */
#define NOUSE 0 /* draft being re-used */
extern char *ctxpath; /* pathname of user's context */
extern struct node *m_defs; /* list of profile/context entries */
-/* What style to use for generated Message-ID and Content-ID header
- fields. The localname style is pid.time@localname, where time is
- in seconds. The random style replaces the localname with some
- (pseudo)random bytes and uses microsecond-resolution time. */
-int save_message_id_style (const char *);
-char *message_id (time_t, int);
-
/*
* These standard strings are defined in config.c. They are the
* only system-dependent parameters in nmh, and thus by redefining