From 467be13057a9a2a9da30be6cabf7469933f614ea Mon Sep 17 00:00:00 2001 From: schwarze Date: Fri, 18 Jan 2019 07:32:17 +0000 Subject: Replace the vague, incorrect, and confusing BUGS sections with CAVEATS clearly stating which arguments have to be avoided, and mention the header files defining the constants required for the checks. Feedback and OK guenther@, OK bluhm@. --- lib/libc/stdlib/abs.3 | 13 +++++++++---- lib/libc/stdlib/imaxabs.3 | 13 +++++++++---- lib/libc/stdlib/labs.3 | 19 +++++++++++++++---- 3 files changed, 33 insertions(+), 12 deletions(-) (limited to 'lib/libc') diff --git a/lib/libc/stdlib/abs.3 b/lib/libc/stdlib/abs.3 index 420bdf6fdf8..afacc985dff 100644 --- a/lib/libc/stdlib/abs.3 +++ b/lib/libc/stdlib/abs.3 @@ -29,15 +29,16 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: abs.3,v 1.11 2013/07/17 05:42:11 schwarze Exp $ +.\" $OpenBSD: abs.3,v 1.12 2019/01/18 07:32:17 schwarze Exp $ .\" -.Dd $Mdocdate: July 17 2013 $ +.Dd $Mdocdate: January 18 2019 $ .Dt ABS 3 .Os .Sh NAME .Nm abs .Nd integer absolute value function .Sh SYNOPSIS +.In limits.h .In stdlib.h .Ft int .Fn abs "int j" @@ -66,5 +67,9 @@ The .Fn abs function first appeared in .At v6 . -.Sh BUGS -The absolute value of the most negative integer remains negative. +.Sh CAVEATS +The result of applying +.Fn abs +to +.Dv INT_MIN +is undefined. diff --git a/lib/libc/stdlib/imaxabs.3 b/lib/libc/stdlib/imaxabs.3 index 6e280dda8ad..340be61b6e9 100644 --- a/lib/libc/stdlib/imaxabs.3 +++ b/lib/libc/stdlib/imaxabs.3 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: imaxabs.3,v 1.7 2014/11/30 21:21:59 schwarze Exp $ +.\" $OpenBSD: imaxabs.3,v 1.8 2019/01/18 07:32:17 schwarze Exp $ .\" -.Dd $Mdocdate: November 30 2014 $ +.Dd $Mdocdate: January 18 2019 $ .Dt IMAXABS 3 .Os .Sh NAME @@ -39,6 +39,7 @@ .Nd integer absolute value function .Sh SYNOPSIS .In inttypes.h +.In stdint.h .Ft intmax_t .Fn imaxabs "intmax_t j" .Sh DESCRIPTION @@ -61,5 +62,9 @@ The .Fn imaxabs function conforms to .St -isoC-99 . -.Sh BUGS -The absolute value of the most negative integer remains negative. +.Sh CAVEATS +The result of applying +.Fn imaxabs +to +.Dv INTMAX_MIN +is undefined. diff --git a/lib/libc/stdlib/labs.3 b/lib/libc/stdlib/labs.3 index 37a20b42f36..f3fd6fd528d 100644 --- a/lib/libc/stdlib/labs.3 +++ b/lib/libc/stdlib/labs.3 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: labs.3,v 1.16 2017/08/01 14:57:02 schwarze Exp $ +.\" $OpenBSD: labs.3,v 1.17 2019/01/18 07:32:17 schwarze Exp $ .\" -.Dd $Mdocdate: August 1 2017 $ +.Dd $Mdocdate: January 18 2019 $ .Dt LABS 3 .Os .Sh NAME @@ -40,6 +40,7 @@ .Nm qabs .Nd return the absolute value of a long integer .Sh SYNOPSIS +.In limits.h .In stdlib.h .Ft long .Fn labs "long i" @@ -73,5 +74,15 @@ and .Fn llabs functions conform to .St -isoC-99 . -.Sh BUGS -The absolute value of the most negative integer remains negative. +.Sh CAVEATS +The results of applying +.Fn labs +to +.Dv LONG_MIN +and +.Fn llabs +to +.Dv LLONG_MIN +are undefined, and +.Fn qabs +is not portable in the first place. -- cgit v1.2.3-59-g8ed1b