changeset 10220:1ccb0de40324

Work around cygwin 1.5.25 strsignal bug. * tests/test-strsignal.c: Allow for const char *. * doc/glibc-functions/strsignal.texi (strsignal): Document the bug. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Wed, 18 Jun 2008 10:50:06 -0600
parents b53286e3c750
children 8c0d36d59e97
files ChangeLog doc/glibc-functions/strsignal.texi tests/test-strsignal.c
diffstat 3 files changed, 23 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jun 18 16:48:01 2008 +0200
+++ b/ChangeLog	Wed Jun 18 10:50:06 2008 -0600
@@ -1,3 +1,9 @@
+2008-06-18  Eric Blake  <ebb9@byu.net>
+
+	Work around cygwin 1.5.25 strsignal bug.
+	* tests/test-strsignal.c: Allow for const char *.
+	* doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
+
 2008-06-18  Simon Josefsson  <simon@josefsson.org>
 
 	* users.txt: Update URL to article and add author/date
--- a/doc/glibc-functions/strsignal.texi	Wed Jun 18 16:48:01 2008 +0200
+++ b/doc/glibc-functions/strsignal.texi	Wed Jun 18 10:50:06 2008 -0600
@@ -2,15 +2,23 @@
 @subsection @code{strsignal}
 @findex strsignal
 
-Gnulib module: ---
+Gnulib module: strsignal
 
 Portability problems fixed by Gnulib:
 @itemize
+@item
+This function is missing on some platforms:
+AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw.
+
+@item
+This function does not return a string for out-of-range numbers on
+some platforms:
+Solaris, AIX 5.1.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
-@item
-This function is missing on some platforms:
-AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw.
+This function returns @code{const char *} instead of @code{char *} on
+some platforms:
+cygwin 1.5.25.
 @end itemize
--- a/tests/test-strsignal.c	Wed Jun 18 16:48:01 2008 +0200
+++ b/tests/test-strsignal.c	Wed Jun 18 10:50:06 2008 -0600
@@ -46,7 +46,11 @@
 int
 main (int argc, char **argv)
 {
-  char *str;
+  /* Work around bug in cygwin 1.5.25 <string.h> by declaring str as
+     const char *, even though strsignal is supposed to return char *.
+     At any rate, this doesn't hurt, since POSIX 200x states that "The
+     string pointed to shall not be modified by the application."  */
+  const char *str;
 
   /* We try a couple of signals, since not all signals are supported
      everywhere.  Notwithstanding the #ifdef for neatness, SIGINT should in