Work around cygwin 1.5.25 strsignal bug.
authorEric Blake <ebb9@byu.net>
Wed, 18 Jun 2008 16:50:06 +0000 (10:50 -0600)
committerEric Blake <ebb9@byu.net>
Wed, 18 Jun 2008 17:16:23 +0000 (11:16 -0600)
* 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>
ChangeLog
doc/glibc-functions/strsignal.texi
tests/test-strsignal.c

index 95f13fe..30d8235 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 80ad6da..65c0b1b 100644 (file)
@@ -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
index 8cc955b..8868346 100644 (file)
 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