.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\" SUCH DAMAGE.
.\"
.\" @(#)strtoul.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.20 2002/10/10 04:31:57 tjr Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.23 2007/01/09 00:28:10 imp Exp $
.\"
.Dd November 28, 2001
.Dt STRTOUL 3
.Os
.Sh NAME
-.Nm strtoul , strtoull , strtoumax , strtouq
+.Nm strtoul ,
+.Nm strtoull ,
+.Nm strtoumax ,
+.Nm strtouq
.Nd "convert a string to an"
.Vt "unsigned long" , "unsigned long long" , uintmax_t ,
or
.Lb libc
.Sh SYNOPSIS
.In stdlib.h
-.In limits.h
.Ft "unsigned long"
-.Fn strtoul "const char * restrict nptr" "char ** restrict endptr" "int base"
+.Fo strtoul
+.Fa "const char *restrict str"
+.Fa "char **restrict endptr"
+.Fa "int base"
+.Fc
.Ft "unsigned long long"
-.Fn strtoull "const char * restrict nptr" "char ** restrict endptr" "int base"
+.Fo strtoull
+.Fa "const char *restrict str"
+.Fa "char **restrict endptr"
+.Fa "int base"
+.Fc
.In inttypes.h
.Ft uintmax_t
-.Fn strtoumax "const char * restrict nptr" "char ** restrict endptr" "int base"
+.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
.Vt "unsigned long"
value.
.Fn strtoull
function
converts the string in
-.Fa nptr
+.Fa str
to an
.Vt "unsigned long long"
value.
.Fn strtoumax
function
converts the string in
-.Fa nptr
+.Fa str
to an
.Vt uintmax_t
value.
.Fn strtouq
function
converts the string in
-.Fa nptr
+.Fa str
to a
.Vt u_quad_t
value.
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
the global variable
.Va errno
is set to
-.Er EINVAL .
+.Er EINVAL
+(the last feature is not portable across all platforms).
.Sh ERRORS
.Bl -tag -width Er
.It Bq Er EINVAL
The value of
.Fa base
is not supported or
-no conversion could be performed.
+no conversion could be performed
+(the last feature is not portable across all platforms).
.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 wcstoul 3
+.Xr strtol_l 3 ,
+.Xr strtonum 3 ,
+.Xr wcstoul 3 ,
+.Xr compat 5
.Sh STANDARDS
The
.Fn strtoul