view doc/posix-functions/fputc.texi @ 15787:68379d0973ef

fflush et al.: Document limitation on MSVC. * doc/posix-functions/fflush.texi: Document possible crash in handling mode other than DEFAULT_HANDLING. * doc/posix-functions/fgetc.texi: Likewise. * doc/posix-functions/fputc.texi: Likewise. * doc/posix-functions/fread.texi: Likewise. * doc/posix-functions/fwrite.texi: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 25 Sep 2011 23:22:19 +0200
parents 6355dc4626b5
children
line wrap: on
line source

@node fputc
@section @code{fputc}
@findex fputc

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fputc.html}

Gnulib module: stdio, nonblocking, sigpipe

Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}:
@itemize
@item
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
mingw, MSVC 9.
@end itemize

Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}:
@itemize
@item
When writing to a pipe with no readers, this function fails, instead of
obeying the current @code{SIGPIPE} handler, on some platforms:
mingw, MSVC 9.
@end itemize

Portability problems not fixed by Gnulib:
@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.
@item
This function crashes if the stream's file descriptor has already been
closed, if @code{MSVC_INVALID_PARAMETER_HANDLING} is
@code{HAIRY_LIBRARY_HANDLING} or @code{SANE_LIBRARY_HANDLING},
on some platforms:
MSVC 9.
@end itemize