#include "lib/permstring.h"
#include "lib/addrinfo.h"
+#if !defined __GNUC__ || defined __APPLE__
+/* Apparently the OS X port of gcc gags on __attribute__.
+ *
+ * <http://www.opensource.apple.com/bugs/X/gcc/2512150.html> */
+#define __attribute__(x)
+#endif
+
+#define UNUSED(x) x __attribute__((__unused__))
+
#include "proto.h"
/* We have replacement versions of these if they're missing. */
#define SUPPORT_HARD_LINKS 1
#endif
-#define SIGNAL_CAST (RETSIGTYPE (*)())
+#ifdef HAVE_SIGACTION
+#define SIGACTION(n,h) sigact.sa_handler=(h), sigaction((n),&sigact,NULL)
+#define signal(n,h) we_need_to_call_SIGACTION_not_signal(n,h)
+#else
+#define SIGACTION(n,h) signal(n,h)
+#endif
#ifndef EWOULDBLOCK
#define EWOULDBLOCK EAGAIN
/* handler for null strings in printf format */
#define NS(s) ((s)?(s):"<NULL>")
-#if !defined __GNUC__ || defined __APPLE__
-/* Apparently the OS X port of gcc gags on __attribute__.
- *
- * <http://www.opensource.apple.com/bugs/X/gcc/2512150.html> */
-#define __attribute__(x)
-
-#endif
-
/* Convenient wrappers for malloc and realloc. Use them. */
#define new(type) ((type *)malloc(sizeof(type)))
#define new_array(type, num) ((type *)_new_array(sizeof(type), (num)))
#ifdef MAINTAINER_MODE
const char *get_panic_action(void);
#endif
-
-#define UNUSED(x) x __attribute__((__unused__))