]> granicus.if.org Git - check/commitdiff
* add call to AC_REPLACE_FUNCS([strsignal])
authorcpickett <cpickett@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Sun, 30 Nov 2008 07:03:49 +0000 (07:03 +0000)
committercpickett <cpickett@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Sun, 30 Nov 2008 07:03:49 +0000 (07:03 +0000)
* add new rpl_strsignal following rpl_(re)malloc template, body
  of function due to Roland Illig
  -- hopefully closes 1629755

git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@448 64e312b2-a51f-0410-8e61-82d0ca0eb02a

AUTHORS
configure.ac
src/check.c

diff --git a/AUTHORS b/AUTHORS
index 40016184e35bd79a99171e4bc730baeb065552ff..ab56c07ffcdc0ba73c59785ecc3e0677dd97cc87 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -16,7 +16,7 @@ Patches:         Bernhard Reiter (configure issues)
                 Ross Burton (pkg-config patch)
                 Roland Stigge (bug fix: allow fail inside setup)
                 Torok Edwin (strsignal and build fixes)
-                Roland Illig (portability fixes for varargs calls)
+                Roland Illig (varargs and strsignal portability fixes)
 
 Anybody who has contributed code to Check or Check's build system is
 considered an author.  Send patches to this file to 
index 460bfe4995fd83920cbd0d81fdb1ee789ea38248..65326ae1a63eb5562ec52888eac3bf39d48e6f0e 100644 (file)
@@ -115,6 +115,7 @@ AC_FUNC_REALLOC
 AC_FUNC_STRFTIME
 AC_FUNC_VPRINTF
 AC_CHECK_FUNCS([alarm gettimeofday localtime_r memmove memset putenv setenv strdup strerror strrchr strstr])
+AC_REPLACE_FUNCS([strsignal])
 
 # Output files
 AC_CONFIG_HEADERS([config.h])
index da07684765fb60b04d719e138668070542c3087b..b1597155112ca48829cd37ed470f2b62054b4a80 100644 (file)
@@ -52,14 +52,17 @@ static void tcase_free (TCase *tc);
 #endif
 #undef malloc
 #undef realloc
+#undef strsignal
 
 #include <sys/types.h>
 
 void *malloc (size_t n);
 void *realloc (void *p, size_t n);
+char *strsignal(int sig);
 
 void *rpl_malloc (size_t n);
 void *rpl_realloc (void *p, size_t n);
+static const char *rpl_strsignal(int sig);
 
 /* Allocate an N-byte block of memory from the heap. If N is zero,
    allocate a 1-byte block. */
@@ -89,6 +92,20 @@ rpl_realloc (void *p, size_t n)
   return realloc (p, n);
 }
 
+/* We simply don't have strsignal on some platforms.  This function
+   should get used if AC_REPLACE_FUNCS([strsignal]) cannot find
+   something acceptable.  Note that Gnulib has a much much much more
+   advanced version of strsignal, but we don't really care.
+*/
+static const char *
+rpl_strsignal (int sig)
+{
+  static char signame[40];
+  
+  sprintf(signame, "SIG #%d", sig);
+  return signame;
+}
+
 Suite *suite_create (const char *name)
 {
   Suite *s;