.\" Copyright (C) 2002 Andries Brouwer <aeb@cwi.nl>
.\"
-.\" %%%LICENSE_START(verbatim)
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\" This replaces an earlier man page written by Walter Harms
.\" <walter.harms@informatik.uni-oldenburg.de>.
.\"
-.TH ASSERT_PERROR 3 2002-08-25 "GNU" "Linux Programmer's Manual"
+.TH ASSERT_PERROR 3 2017-09-15 "GNU" "Linux Programmer's Manual"
.SH NAME
assert_perror \- test errnum and abort
.SH SYNOPSIS
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <assert.h>
-.sp
+.PP
.BI "void assert_perror(int " errnum );
.fi
.SH DESCRIPTION
.IR strerror(errnum) .
.SH RETURN VALUE
No value is returned.
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR assert_perror ()
+T} Thread safety MT-Safe
+.TE
+.sp 1
.SH CONFORMING TO
This is a GNU extension.
.SH BUGS
-The purpose of the assert macros is to help the programmer find bugs in
-his program, things that cannot happen unless there was a coding mistake.
+The purpose of the assert macros is to help programmers find bugs in
+their programs, things that cannot happen unless there was a coding mistake.
However, with system or library calls the situation is rather different,
and error returns can happen, and will happen, and should be tested for.
Not by an assert, where the test goes away when