mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-09-01 11:16:02 +00:00
* modules/stdio-h: Renamed from modules/stdio. * modules/stdio-h-tests: Renamed from modules/stdio-tests. * modules/stdio-h-c++-tests: Renamed from modules/stdio-c++-tests. * tests/test-stdio-h.c: Renamed from tests/test-stdio.c. * tests/test-stdio-h-c++.cc: Renamed from tests/test-stdio-c++.cc. * tests/test-stdio-h-c++2.cc: Renamed from tests/test-stdio-c++2.cc. * doc/posix-headers/stdio.texi: Update. * doc/posix-functions/fgetc.texi: Update. * doc/posix-functions/fgets.texi: Update. * doc/posix-functions/fprintf.texi: Update. * doc/posix-functions/fputc.texi: Update. * doc/posix-functions/fputs.texi: Update. * doc/posix-functions/fread.texi: Update. * doc/posix-functions/fscanf.texi: Update. * doc/posix-functions/fwrite.texi: Update. * doc/posix-functions/getc.texi: Update. * doc/posix-functions/getchar.texi: Update. * doc/posix-functions/printf.texi: Update. * doc/posix-functions/putc.texi: Update. * doc/posix-functions/putchar.texi: Update. * doc/posix-functions/puts.texi: Update. * doc/posix-functions/read.texi: Update. * doc/posix-functions/scanf.texi: Update. * doc/posix-functions/vfprintf.texi: Update. * doc/posix-functions/vprintf.texi: Update. * doc/posix-functions/write.texi: Update. * modules/* (Depends-on): Update. * modules/stdio: New file.
43 lines
1.1 KiB
Plaintext
43 lines
1.1 KiB
Plaintext
@node read
|
|
@subsection @code{read}
|
|
@findex read
|
|
|
|
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/read.html}
|
|
|
|
Gnulib module: read, stdio-h, nonblocking
|
|
@mindex read
|
|
@mindex stdio-h
|
|
@mindex nonblocking
|
|
|
|
Portability problems fixed by Gnulib module @code{read}:
|
|
@itemize
|
|
@item
|
|
This function is declared in a different header file (namely, @code{<io.h>})
|
|
on some platforms:
|
|
mingw, MSVC 14.
|
|
@item
|
|
This function crashes when invoked with invalid arguments on some platforms:
|
|
MSVC 14.
|
|
@end itemize
|
|
|
|
Portability problems fixed by Gnulib module @code{stdio-h}, together with module @code{nonblocking}:
|
|
@itemize
|
|
@item
|
|
When reading from a non-blocking pipe whose buffer is empty, this function
|
|
fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on
|
|
some platforms:
|
|
mingw, MSVC 14.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function may fail with error @code{EINTR}, even in programs that don't
|
|
install any signal handlers, on some platforms:
|
|
macOS 14.
|
|
@end itemize
|
|
|
|
@mindex safe-read
|
|
For handling @code{EINTR}, Gnulib provides a module @samp{safe-read} with a
|
|
function @code{safe_read}.
|