diff options
Diffstat (limited to 'upstream/archlinux/man3p/perror.3p')
-rw-r--r-- | upstream/archlinux/man3p/perror.3p | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/perror.3p b/upstream/archlinux/man3p/perror.3p new file mode 100644 index 00000000..9d60c624 --- /dev/null +++ b/upstream/archlinux/man3p/perror.3p @@ -0,0 +1,158 @@ +'\" et +.TH PERROR "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.\" +.SH NAME +perror +\(em write error messages to standard error +.SH SYNOPSIS +.LP +.nf +#include <stdio.h> +.P +void perror(const char *\fIs\fP); +.fi +.SH DESCRIPTION +The functionality described on this reference page is aligned with the +ISO\ C standard. Any conflict between the requirements described here and the +ISO\ C standard is unintentional. This volume of POSIX.1\(hy2017 defers to the ISO\ C standard. +.P +The +\fIperror\fR() +function shall map the error number accessed through the symbol +.IR errno +to a language-dependent error message, which shall be written to the +standard error stream as follows: +.IP " *" 4 +First (if +.IR s +is not a null pointer and the character pointed to by +.IR s +is not the null byte), the string pointed to by +.IR s +followed by a +<colon> +and a +<space>. +.IP " *" 4 +Then an error message string followed by a +<newline>. +.P +The contents of the error message strings shall be the same as those +returned by +\fIstrerror\fR() +with argument +.IR errno . +.P +The +\fIperror\fR() +function shall mark for update the last data modification and last file +status change timestamps of the file associated with the standard error +stream at some time between its successful completion and +\fIexit\fR(), +\fIabort\fR(), +or the completion of +\fIfflush\fR() +or +\fIfclose\fR() +on +.IR stderr . +.P +The +\fIperror\fR() +function shall not change the orientation of the standard error stream. +.P +On error, +\fIperror\fR() +shall set the error indicator for the stream to which +.IR stderr +points, and shall set +.IR errno +to indicate the error. +.P +Since no value is returned, an application wishing to check for error +situations should call +.IR clearerr ( stderr ) +before calling +\fIperror\fR(), +then if +.IR ferror ( stderr ) +returns non-zero, the value of +.IR errno +indicates which error occurred. +.SH "RETURN VALUE" +The +\fIperror\fR() +function shall not return a value. +.SH ERRORS +Refer to +.IR "\fIfputc\fR\^(\|)". +.LP +.IR "The following sections are informative." +.SH EXAMPLES +.SS "Printing an Error Message for a Function" +.P +The following example replaces +.IR bufptr +with a buffer that is the necessary size. If an error occurs, the +\fIperror\fR() +function prints a message and the program exits. +.sp +.RS 4 +.nf + +#include <stdio.h> +#include <stdlib.h> +\&... +char *bufptr; +size_t szbuf; +\&... +if ((bufptr = malloc(szbuf)) == NULL) { + perror("malloc"); exit(2); +} +\&... +.fi +.P +.RE +.SH "APPLICATION USAGE" +Application writers may prefer to use alternative interfaces instead of +\fIperror\fR(), +such as +\fIstrerror_r\fR() +in combination with +\fIfprintf\fR(). +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIfprintf\fR\^(\|)", +.IR "\fIfputc\fR\^(\|)", +.IR "\fIpsiginfo\fR\^(\|)", +.IR "\fIstrerror\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "\fB<stdio.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +In the event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |