| @node fwrite | |
| @subsection @code{fwrite} | |
| @findex fwrite | |
| POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/fwrite.html} | |
| Gnulib module: stdio-h, nonblocking, sigpipe | |
| @mindex stdio-h | |
| @mindex nonblocking | |
| @mindex sigpipe | |
| Portability problems fixed by Gnulib module @code{stdio-h}: | |
| @itemize | |
| @item | |
| This function fails and produces no output | |
| when the argument string starts with a non-ASCII character in double-byte encoding, | |
| corresponding to the locale, on some platforms: | |
| mingw in combination with msvcrt, | |
| when the output goes to a Windows console. | |
| @end itemize | |
| Portability problems fixed by Gnulib module @code{stdio-h}, 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 14. | |
| @end itemize | |
| Portability problems fixed by Gnulib module @code{stdio-h}, 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 14. | |
| @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 14. | |
| @end itemize |