+2011-06-07 Eric Blake <eblake@redhat.com>
+
+ test-perror: relax test to ignore cygwin bug
+ * tests/test-perror2.c (main): Relax test on requiring detection
+ of stream errors, and use unbuffered stream.
+ * doc/posix-functions/dprintf.texi (dprintf): Document bug.
+ * doc/posix-functions/fprintf.texi (fprintf): Likewise.
+ * doc/posix-functions/fputc.texi (fputc): Likewise.
+ * doc/posix-functions/fputs.texi (fputs): Likewise.
+ * doc/posix-functions/fputws.texi (fputws): Likewise.
+ * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
+ * doc/posix-functions/fwrite.texi (fwrite): Likewise.
+ * doc/posix-functions/getopt.texi (getopt): Likewise.
+ * doc/posix-functions/perror.texi (perror): Likewise.
+ * doc/posix-functions/printf.texi (printf): Likewise.
+ * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
+ * doc/posix-functions/psignal.texi (psignal): Likewise.
+ * doc/posix-functions/putc.texi (putc): Likewise.
+ * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
+ Likewise.
+ * doc/posix-functions/putchar.texi (putchar): Likewise.
+ * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
+ Likewise.
+ * doc/posix-functions/puts.texi (puts): Likewise.
+ * doc/posix-functions/putwc.texi (putwc): Likewise.
+ * doc/posix-functions/putwchar.texi (putwchar): Likewise.
+ * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
+ * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
+ * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
+ * doc/posix-functions/vprintf.texi (vprintf): Likewise.
+ * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
+ * doc/posix-functions/wordexp.texi (wordexp): Likewise.
+ * doc/posix-functions/wprintf.texi (wprintf): Likewise.
+
2011-05-22 Bruno Haible <bruno@clisp.org>
strerror: Move AC_LIBOBJ invocations to module description.
Portability problems not fixed by Gnulib:
@itemize
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
Attempting to write to a read-only stream fails with @code{EOF} but
does not set the error flag for @code{ferror} on some platforms:
-glibc 2.13.
+glibc 2.13, cygwin 1.7.9.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
necessarily re-read @env{POSIXLY_CORRECT}. Solaris @code{getopt} does
not support either reset method, but does not maintain state that
needs the extra level of reset.
+@item
+On some platforms, this function does not set the stream error
+indicator on attempts to write to a read-only stream:
+glibc 2.13, Cygwin 1.7.9.
@end itemize
@item
POSIX requires that this function set the stream error bit (detected
by @code{ferror}) on write failure, but not all platforms do this:
-glibc 2.13.
+glibc 2.13, cygwin 1.7.9.
@item
POSIX requires that this function not alter stream orientation, but
the gnulib replacement locks in byte orientation and fails on wide
@item
Attempting to write to a read-only stream fails with @code{EOF} but
does not set the error flag for @code{ferror} on some platforms:
-glibc 2.13.
+glibc 2.13, cygwin 1.7.9.
@end itemize
@itemize
@item
This function is missing on some platforms:
-glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS.
+glibc 2.3.6, MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX
+5.1, HP-UX 11, OSF/1 5.1, Cygwin 1.7.9, mingw, Interix 3.5, BeOS.
@end itemize
@itemize
@item
This function is missing on some platforms:
-HP-UX 11, Cygwin, mingw, Interix 3.5, BeOS.
+HP-UX 11, Cygwin 1.7.9, mingw, Interix 3.5, BeOS.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
This function is missing on some platforms:
mingw.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
This function is missing on some platforms:
mingw.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On Windows platforms (excluding Cygwin), this function does not set @code{errno}
upon failure.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
Attempting to write to a read-only stream fails with @code{EOF} but
does not set the error flag for @code{ferror} on some platforms:
-glibc 2.13.
+glibc 2.13, cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
Attempting to write to a read-only stream fails with @code{EOF} but
does not set the error flag for @code{ferror} on some platforms:
-glibc 2.13.
+glibc 2.13, cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
This function is missing on some platforms:
MacOS X 10.3, OpenBSD 3.8, IRIX 5.3, Cygwin 1.5.x, mingw, Interix 3.5, BeOS.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
@item
On AIX and Windows platforms, @code{wchar_t} is a 16-bit type and therefore cannot
accommodate all Unicode characters.
+@item
+On some platforms, this function does not set @code{errno} or the
+stream error indicator on attempts to write to a read-only stream:
+Cygwin 1.7.9.
@end itemize
/* Test that perror reports write failure. */
{
ASSERT (freopen (BASE ".tmp", "r", stderr) == stderr);
- ASSERT (setvbuf (stderr, NULL, _IOLBF, BUFSIZ) == 0);
+ ASSERT (setvbuf (stderr, NULL, _IONBF, BUFSIZ) == 0);
errno = -1;
ASSERT (!ferror (stderr));
perror (NULL);
- ASSERT (errno > 0);
#if 0
+ /* Commented out until cygwin behaves:
+ http://sourceware.org/ml/newlib/2011/msg00228.html */
+ ASSERT (errno > 0);
/* Commented out until glibc behaves:
http://sourceware.org/bugzilla/show_bug.cgi?id=12792 */
ASSERT (ferror (stderr));