mhl and mhbuild ignore to long lines
[mmh] / h / mh.h
diff --git a/h/mh.h b/h/mh.h
index 481f2f1..280249e 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -38,8 +38,26 @@ typedef unsigned char  boolean;  /* not int so we can pack in a structure */
 */
 #if __GNUC__ > 2
 # define NORETURN __attribute__((__noreturn__))
+# define CONST __attribute__((const))
+# define MALLOC __attribute__((malloc))
+# define NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
+# define PURE __attribute__((pure))
+# define ENDNULL __attribute__((sentinel))
 #else
 # define NORETURN
+# define CONST
+# define MALLOC
+# define NONNULL(...)
+# define PURE
+# define ENDNULL
+#endif
+
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+# define ALLOC_SIZE(...) __attribute__((alloc_size(__VA_ARGS__)))
+# define CHECK_PRINTF(fmt, arg) __attribute__((format(printf, fmt, arg)))
+#else
+# define ALLOC_SIZE(...)
+# define CHECK_PRINTF(fmt, arg)
 #endif
 
 /*
@@ -203,6 +221,8 @@ struct msgs {
                            ** terminating NULL.
                            */
 
+#define MAXTEXTPERLN 78
+
 /* m_getfld2() returned data */
 struct field {
        char name[NAMESZ];
@@ -210,10 +230,9 @@ struct field {
        char *value;
        size_t valuelen;
        size_t alloclen;
+       boolean crlf;
 };
 
-extern struct field free_field;
-
 /* m_getfld2() states */
 enum state {
        LENERR2 = -2,      /* Line too long */
@@ -221,7 +240,7 @@ enum state {
        IOERR2 = -1,       /* Read error */
        FLD2 = 0,          /* Header field returned */
        BODY2,             /* Body line returned */
-       FILEEOF2,          /* Reached end of input file */
+       FILEEOF2           /* Reached end of input file */
 };
 
 #define NOUSE    0        /* draft being re-used */
@@ -289,10 +308,10 @@ extern char *msgprot;
 extern char *nmhstorage;
 extern char *nsequence;
 extern char *profile;
-extern char *psequence;
 extern char *rcvdistcomps;
 extern char *replcomps;
 extern char *replgroupcomps;
+extern char *scanformat;
 extern char *sendmail;
 extern char *seq_all;
 extern char *seq_beyond;
@@ -305,8 +324,9 @@ extern char *seq_unseen;
 extern char *seq_neg;
 extern char *trashfolder;
 extern char *usequence;
-extern char *version_num;
-extern char *version_str;
+extern char *version;
+extern char *lib_version;
 extern char *whatnowproc;
 
+#include <h/charstring.h>
 #include <h/prototypes.h>