Add an ERRORS section documenting at least some of the errors

that may occur for scanf().
See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487254.
This commit is contained in:
Michael Kerrisk 2008-06-22 08:35:24 +00:00
parent c246714df1
commit 646af540e4
1 changed files with 35 additions and 2 deletions

View File

@ -43,13 +43,15 @@
.\" incorporated from the GNU C library documentation ((C) The
.\" Free Software Foundation); other parts substantially rewritten.
.\"
.\" 2008-06-22 Add ERRORS section.
.\"
.\" FIXME
.\" The glibc 2.7 release announcement says:
.\" Implement 'm' modifier for scanf. Add stricter C99/SUS compliance
.\" by not recognizing 'a' as a modifier when those specs are requested.
.\" These changes need to be documented.
.\"
.TH SCANF 3 2007-07-26 "GNU" "Linux Programmer's Manual"
.TH SCANF 3 2008-06-22 "GNU" "Linux Programmer's Manual"
.SH NAME
scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- input format conversion
.SH SYNOPSIS
@ -541,13 +543,44 @@ in which case the error indicator for the stream (see
is set, and
.I errno
is set indicate the error.
.SH ERRORS
.B EAGAIN
The file descriptor underlying
.I stream
is marked non-blocking, and the read operation would block.
.TP
.B EBADF
The file descriptor underlying
.I stream
is invalid, or not open for reading.
.TP
.B EILSEQ
Input byte sequence does not form a valid character.
.TP
.B EINTR
The read operation was interrupted by a signal.
.TP
.B EINVAL
Not enough arguments; or
.I format
is NULL.
.TP
.B ENOMEM
Out of memory.
.TP
.B ERANGE
The result of an integer conversion would exceed the size
that can be stored in the corresponding integer type.
.SH "CONFORMING TO"
The functions
.BR fscanf (),
.BR scanf (),
and
.BR sscanf ()
conform to C89 and C99.
conform to C89 and C99 and POSX.1-2001.
These standard do not specify the
.B ERANGE
error.
.PP
The
.B q