summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/plugins/sig.c13
2 files changed, 5 insertions, 11 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 3659b879f..36e049a69 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -1,5 +1,8 @@
Date Added
+2010/12/21
+ * Removed 'strsignal' forward-declaration from 'sig' plugin to prevent random gcc distributions from failing to compile due to mismatched declaration already present in <string.h> (bugreport:4644, topic:262284, follow up to r14591). [Ai4rei]
+ - Removed WIN32 conditions in non-WIN32 code in 'sig' plugin (follow up to r4380).
2010/12/19
* Fixes to the dynamic shop sample script. [Ai4rei]
- Fixed wrong check in ::OnSellItem, causing not-enough-items condition not getting detected (since r11829).
diff --git a/src/plugins/sig.c b/src/plugins/sig.c
index a9489b019..9db0638ca 100644
--- a/src/plugins/sig.c
+++ b/src/plugins/sig.c
@@ -3,6 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
+#define __USE_GNU // required to enable strsignal on some platforms
#include <string.h>
#include <time.h>
#include "../common/plugin.h"
@@ -52,11 +53,6 @@ unsigned long (*getuptime)();
char *server_name;
int crash_flag = 0;
-#ifndef __APPLE__
-extern const char *strsignal(int);
-#else
-extern char *strsignal(int);
-#endif
int sig_final ();
// by Gabuzomeu
@@ -64,9 +60,6 @@ int sig_final ();
// (sigaction() is POSIX; signal() is not.) Taken from Stevens' _Advanced
// Programming in the UNIX Environment_.
//
-#ifdef WIN32 // windows don't have SIGPIPE
-#define SIGPIPE SIGINT
-#endif
#ifndef POSIX
#define compat_signal(signo, func) signal(signo, func)
@@ -207,9 +200,7 @@ int sig_init ()
compat_signal(SIGSEGV, func);
compat_signal(SIGFPE, func);
compat_signal(SIGILL, func);
- #ifndef __WIN32
- compat_signal(SIGBUS, func);
- #endif
+ compat_signal(SIGBUS, func);
return 1;
}