Loading...
--- Libc/Libc-262.2.12/stdlib/strtoul.3
+++ Libc/Libc-583/stdlib/strtoul.3
@@ -34,52 +34,85 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtoul.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.14 2001/09/11 09:39:23 ru Exp $
-.\"
-.Dd June 4, 1993
+.\" $FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.20 2002/10/10 04:31:57 tjr Exp $
+.\"
+.Dd November 28, 2001
.Dt STRTOUL 3
.Os
.Sh NAME
-.Nm strtoul , strtoull , strtouq
-.Nd "convert a string to an unsigned long, unsigned long long, or uquad_t integer"
+.Nm strtoul ,
+.Nm strtoull ,
+.Nm strtoumax ,
+.Nm strtouq
+.Nd "convert a string to an"
+.Vt "unsigned long" , "unsigned long long" , uintmax_t ,
+or
+.Vt u_quad_t
+integer
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In stdlib.h
-.In limits.h
-.Ft unsigned long
-.Fn strtoul "const char *nptr" "char **endptr" "int base"
-.Ft unsigned long long
-.Fn strtoull "const char *nptr" "char **endptr" "int base"
+.Ft "unsigned long"
+.Fo strtoul
+.Fa "const char *restrict str"
+.Fa "char **restrict endptr"
+.Fa "int base"
+.Fc
+.Ft "unsigned long long"
+.Fo strtoull
+.Fa "const char *restrict str"
+.Fa "char **restrict endptr"
+.Fa "int base"
+.Fc
+.In inttypes.h
+.Ft uintmax_t
+.Fo strtoumax
+.Fa "const char *restrict str"
+.Fa "char **restrict endptr"
+.Fa "int base"
+.Fc
.In sys/types.h
.In stdlib.h
.In limits.h
.Ft u_quad_t
-.Fn strtouq "const char *nptr" "char **endptr" "int base"
+.Fo strtouq
+.Fa "const char *str"
+.Fa "char **endptr"
+.Fa "int base"
+.Fc
.Sh DESCRIPTION
The
.Fn strtoul
function
converts the string in
-.Fa nptr
+.Fa str
to an
-.Em unsigned long
-value.
-The
-.Fn strtoull
-function
-converts the string in
-.Fa nptr
+.Vt "unsigned long"
+value.
+The
+.Fn strtoull
+function
+converts the string in
+.Fa str
to an
-.Em unsigned long long
-value.
-The
-.Fn strtouq
-function
-converts the string in
-.Fa nptr
+.Vt "unsigned long long"
+value.
+The
+.Fn strtoumax
+function
+converts the string in
+.Fa str
+to an
+.Vt uintmax_t
+value.
+The
+.Fn strtouq
+function
+converts the string in
+.Fa str
to a
-.Em u_quad_t
+.Vt u_quad_t
value.
The conversion is done according to the given
.Fa base ,
@@ -98,7 +131,7 @@
.Fa base
is zero or 16,
the string may then include a
-.Ql 0x
+.Dq Li 0x
prefix,
and the number will be read in base 16; otherwise, a zero
.Fa base
@@ -107,7 +140,7 @@
in which case it is taken as 8 (octal).
.Pp
The remainder of the string is converted to an
-.Em unsigned long
+.Vt "unsigned long"
value in the obvious manner,
stopping at the end of the string
or at the first character that does not produce a valid digit
@@ -123,18 +156,19 @@
.Pp
If
.Fa endptr
-is non nil,
+is not
+.Dv NULL ,
.Fn strtoul
stores the address of the first invalid character in
.Fa *endptr .
If there were no digits at all, however,
.Fn strtoul
stores the original value of
-.Fa nptr
+.Fa str
in
.Fa *endptr .
(Thus, if
-.Fa *nptr
+.Fa *str
is not
.Ql \e0
but
@@ -144,20 +178,28 @@
on return, the entire string was valid.)
.Sh RETURN VALUES
The
-.Fn strtoul
-or
-.Fn strtoull
-function
-returns either the result of the conversion
+.Fn strtoul ,
+.Fn strtoull ,
+.Fn strtoumax
+and
+.Fn strtouq
+functions
+return either the result of the conversion
or, if there was a leading minus sign,
the negation of the result of the conversion,
unless the original (non-negated) value would overflow;
in the latter case,
.Fn strtoul
returns
-.Dv ULONG_MAX
-and
-.Fn strtoull
+.Dv ULONG_MAX ,
+.Fn strtoull
+returns
+.Dv ULLONG_MAX ,
+.Fn strtoumax
+returns
+.Dv UINTMAX_MAX ,
+and
+.Fn strtouq
returns
.Dv ULLONG_MAX .
In all cases,
@@ -179,8 +221,21 @@
.It Bq Er ERANGE
The given string was out of range; the value converted has been clamped.
.El
+.Sh LEGACY SYNOPSIS
+.Fd #include <stdlib.h>
+.Fd #include <limits.h>
+.Pp
+.In limits.h
+is necessary for the
+.Fn strtoul
+and
+.Fn strtoull
+functions.
.Sh SEE ALSO
-.Xr strtol 3
+.Xr strtol 3 ,
+.Xr strtol_l 3 ,
+.Xr wcstoul 3 ,
+.Xr compat 5
.Sh STANDARDS
The
.Fn strtoul
@@ -189,10 +244,12 @@
.St -isoC .
The
.Fn strtoull
-function
-conforms to
+and
+.Fn strtoumax
+functions
+conform to
.St -isoC-99 .
The
.Bx
-.Fn strtoq
+.Fn strtouq
function is deprecated.