X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=h%2Fmh.h;h=649582d3bca6d1abf244de14ce5159151da33698;hp=8f6fad1d78ec61172ca555f68e283b3727f70769;hb=HEAD;hpb=e3589a920c43d8f4c7967a4884238658076114a1 diff --git a/h/mh.h b/h/mh.h index 8f6fad1..280249e 100644 --- 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,6 +230,7 @@ struct field { char *value; size_t valuelen; size_t alloclen; + boolean crlf; }; /* m_getfld2() states */ @@ -219,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 */ @@ -287,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; @@ -303,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 #include