From f3824ccfdcc3b19713320b07ac25376703e2e07b Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Fri, 18 Jan 2019 07:32:17 +0000 Subject: [PATCH] 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@. --- src/lib/libc/stdlib/abs.3 | 13 +++++++++---- src/lib/libc/stdlib/imaxabs.3 | 13 +++++++++---- src/lib/libc/stdlib/labs.3 | 19 +++++++++++++++---- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/lib/libc/stdlib/abs.3 b/src/lib/libc/stdlib/abs.3 index 420bdf6f..afacc985 100644 --- a/src/lib/libc/stdlib/abs.3 +++ b/src/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/src/lib/libc/stdlib/imaxabs.3 b/src/lib/libc/stdlib/imaxabs.3 index 6e280dda..340be61b 100644 --- a/src/lib/libc/stdlib/imaxabs.3 +++ b/src/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/src/lib/libc/stdlib/labs.3 b/src/lib/libc/stdlib/labs.3 index 37a20b42..f3fd6fd5 100644 --- a/src/lib/libc/stdlib/labs.3 +++ b/src/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.