]> diplodocus.org Git - nmh/blobdiff - sbr/done.c
m_backup.c: Move interface to own file.
[nmh] / sbr / done.c
index cd76fac5b849dbf04cdd3149be7eef2ca39d4274..8b197b256db4799ac924d83e9f8dba4b7808ace6 100644 (file)
@@ -5,20 +5,8 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-
-/* It's undefined behaviour in C99 to convert from a function pointer to
- * a data-object pointer, e.g. void pointer.  gcc's -pedantic warns of
- * this and can stop compilation.  POSIX requires the operation however,
- * e.g. for dlsym(3), and so we know it's safe on POSIX platforms, e.g.
- * the pointers are of the same size.  Thus use a union to subvert gcc's
- * check.  The function-pointer equivalent of a void pointer is any
- * function-pointer type as all function pointers are defined to be
- * convertible from one another;  use the simplest available. */
-typedef union {
-    void *v;
-    void (*f)(void);
-} generic_pointer;
+#include "h/mh.h"
+#include "error.h"
 
 static void (*altexit)(int) NORETURN = exit;