X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=h%2Fmh.h;h=6513f2465e6a638ad5e791f7e8eed156bccf9540;hp=130bfde5686cd907874b1b03d49d135e952fdcc8;hb=2d4bd0ad2d574ffff2359a88bfcf53e792c3c830;hpb=5ff96d61ee5af34956ae958a0bc72ee78734a4d7 diff --git a/h/mh.h b/h/mh.h index 130bfde..6513f24 100644 --- a/h/mh.h +++ b/h/mh.h @@ -29,6 +29,15 @@ #endif typedef unsigned char boolean; /* not int so we can pack in a structure */ +/* If we're using gcc then give it some information about + * functions that abort. + */ +#if __GNUC__ > 2 +#define NORETURN __attribute__((__noreturn__)) +#else +#define NORETURN +#endif + /* * user context/profile structure */ @@ -214,7 +223,15 @@ struct msgs { * m_getfld() message parsing */ -#define NAMESZ 128 /* Limit on component name size */ +#define NAMESZ 999 /* Limit on component name size. + RFC 2822 limits line lengths to + 998 characters, so a header name + can be at most that long. + m_getfld limits header names to 2 + less than NAMESZ, which is fine, + because header names must be + followed by a colon. Add one for + terminating NULL. */ #define LENERR (-2) /* Name too long error from getfld */ #define FMTERR (-3) /* Message Format error */ @@ -336,5 +353,7 @@ extern char *vmhproc; extern char *whatnowproc; extern char *whomproc; +extern void (*done) (int) NORETURN; + #include