When building on gcc, use noreturn attribute on adios and the various done
[mmh] / h / mh.h
diff --git a/h/mh.h b/h/mh.h
index afe2682..97c7769 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -7,15 +7,6 @@
 
 #include <h/nmh.h>
 
-/* A quick fix for Linux systems. According to the vfork manual page, 
-   there is little difference in performance, so we aren't losing much.
-   But this fixes a minor message bug so why not? On NetBSD, this should
-   probably not happen. */
-#ifdef linux
-#define vfork fork
-#endif
-
-
 /*
  * Well-used constants
  */
 #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
  */
@@ -67,6 +67,8 @@ struct swit {
 
 extern struct swit anoyes[];   /* standard yes/no switches */
 
+#define ATTACHFORMATS 3                /* Number of send attach formats. */
+
 /*
  * general folder attributes
  */
@@ -343,5 +345,7 @@ extern char *vmhproc;
 extern char *whatnowproc;
 extern char *whomproc;
 
+extern void (*done) (int) NORETURN;
+
 #include <h/prototypes.h>