From 1b911c12d61b7e1f2ef636cd1a44fda445fc8efe Mon Sep 17 00:00:00 2001 From: millert <> Date: Fri, 29 Jun 2007 18:54:37 +0000 Subject: [PATCH] Document behavior when no conversion could be performed. Adapted from FreeBSD. With help from jmc@. --- src/lib/libc/stdlib/strtol.3 | 12 +++++++++--- src/lib/libc/stdlib/strtoul.3 | 10 ++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/lib/libc/stdlib/strtol.3 b/src/lib/libc/stdlib/strtol.3 index 74361671..4eb76788 100644 --- a/src/lib/libc/stdlib/strtol.3 +++ b/src/lib/libc/stdlib/strtol.3 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: strtol.3,v 1.17 2007/05/31 19:19:31 jmc Exp $ +.\" $OpenBSD: strtol.3,v 1.18 2007/06/29 18:54:37 millert Exp $ .\" -.Dd $Mdocdate: May 31 2007 $ +.Dd $Mdocdate: June 29 2007 $ .Dt STRTOL 3 .Os .Sh NAME @@ -151,8 +151,14 @@ The .Fn strtoimax , and .Fn strtoq -functions returns the result of the conversion, +functions return the result of the conversion, unless the value would underflow or overflow. +If no conversion could be performed, 0 is returned; +the global variable +.Va errno +is also set to +.Er EINVAL, +though this is not portable across all platforms. If overflow or underflow occurs, .Va errno is set to diff --git a/src/lib/libc/stdlib/strtoul.3 b/src/lib/libc/stdlib/strtoul.3 index 4e7fb641..30a09aa2 100644 --- a/src/lib/libc/stdlib/strtoul.3 +++ b/src/lib/libc/stdlib/strtoul.3 @@ -29,9 +29,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: strtoul.3,v 1.17 2007/05/31 19:19:32 jmc Exp $ +.\" $OpenBSD: strtoul.3,v 1.18 2007/06/29 18:54:37 millert Exp $ .\" -.Dd $Mdocdate: May 31 2007 $ +.Dd $Mdocdate: June 29 2007 $ .Dt STRTOUL 3 .Os .Sh NAME @@ -175,6 +175,12 @@ and the global variable .Va errno is set to .Er ERANGE . +If no conversion could be performed, 0 is returned; +the global variable +.Va errno +is also set to +.Er EINVAL, +though this is not portable across all platforms. .Pp There is no way to determine if .Fn strtoul