Loading...
--- Libc/Libc-583/stdlib/strtol.3
+++ Libc/Libc-262/stdlib/strtol.3
@@ -34,85 +34,52 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)strtol.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.20 2005/01/22 18:02:58 ache Exp $
-.\"
-.Dd November 28, 2001
+.\" $FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.14 2001/09/11 09:39:23 ru Exp $
+.\"
+.Dd June 4, 1993
.Dt STRTOL 3
.Os
.Sh NAME
-.Nm strtoimax ,
-.Nm strtol ,
-.Nm strtoll ,
-.Nm strtoq
-.Nd "convert a string value to a"
-.Vt long , "long long" , intmax_t
-or
-.Vt quad_t
-integer
+.Nm strtol , strtoll , strtoq
+.Nd "convert a string value to a long, long long, or quad_t integer"
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
-.In inttypes.h
-.Ft intmax_t
-.Fo strtoimax
-.Fa "const char *restrict str"
-.Fa "char **restrict endptr"
-.Fa "int base"
-.Fc
.In stdlib.h
+.In limits.h
.Ft long
-.Fo strtol
-.Fa "const char *restrict str"
-.Fa "char **restrict endptr"
-.Fa "int base"
-.Fc
+.Fn strtol "const char *nptr" "char **endptr" "int base"
.Ft long long
-.Fo strtoll
-.Fa "const char *restrict str"
-.Fa "char **restrict endptr"
-.Fa "int base"
-.Fc
+.Fn strtoll "const char *nptr" "char **endptr" "int base"
.In sys/types.h
.In stdlib.h
.In limits.h
.Ft quad_t
-.Fo strtoq
-.Fa "const char *str"
-.Fa "char **endptr"
-.Fa "int base"
-.Fc
+.Fn strtoq "const char *nptr" "char **endptr" "int base"
.Sh DESCRIPTION
The
.Fn strtol
function
converts the string in
-.Fa str
+.Fa nptr
to a
-.Vt long
+.Em long
value.
The
.Fn strtoll
function
converts the string in
-.Fa str
+.Fa nptr
to a
-.Vt "long long"
+.Em long long
value.
The
-.Fn strtoimax
+.Fn strtoq
function
converts the string in
-.Fa str
-to an
-.Vt intmax_t
-value.
-The
-.Fn strtoq
-function
-converts the string in
-.Fa str
+.Fa nptr
to a
-.Vt quad_t
+.Em quad_t
value.
The conversion is done according to the given
.Fa base ,
@@ -131,7 +98,7 @@
.Fa base
is zero or 16,
the string may then include a
-.Dq Li 0x
+.Ql 0x
prefix,
and the number will be read in base 16; otherwise, a zero
.Fa base
@@ -140,9 +107,7 @@
in which case it is taken as 8 (octal).
.Pp
The remainder of the string is converted to a
-.Vt long , "long long" , intmax_t
-or
-.Vt quad_t
+.Em long
value in the obvious manner,
stopping at the first character which is not a valid digit
in the given base.
@@ -157,19 +122,18 @@
.Pp
If
.Fa endptr
-is not
-.Dv NULL ,
+is non nil,
.Fn strtol
stores the address of the first invalid character in
.Fa *endptr .
If there were no digits at all, however,
.Fn strtol
stores the original value of
-.Fa str
+.Fa nptr
in
.Fa *endptr .
(Thus, if
-.Fa *str
+.Fa *nptr
is not
.Ql \e0
but
@@ -177,71 +141,55 @@
is
.Ql \e0
on return, the entire string was valid.)
-.Pp
-Extended locale versions of these functions are documented in
-.Xr strtol_l 3 .
-See
-.Xr xlocale 3
-for more information.
.Sh RETURN VALUES
The
-.Fn strtol ,
-.Fn strtoll ,
-.Fn strtoimax ,
-and
-.Fn strtoq
-functions
-return the result of the conversion,
+.Fn strtol
+or
+.Fn strtoll
+function
+returns the result of the conversion,
unless the value would underflow or overflow.
If no conversion could be performed, 0 is returned and
the global variable
.Va errno
is set to
-.Er EINVAL
-(the last feature is not portable across all platforms).
-If an overflow or underflow occurs,
+.Er EINVAL .
+If an underflow occurs,
+.Fn strtol
+returns
+.Dv LONG_MIN .
+If an overflow occurs,
+.Fn strtol
+returns
+.Dv LONG_MAX .
+If an underflow occurs,
+.Fn strtoll
+returns
+.Dv LLONG_MIN .
+If an overflow occurs,
+.Fn strtoll
+returns
+.Dv LLONG_MAX .
+In all cases,
.Va errno
is set to
-.Er ERANGE
-and the function return value is clamped according
-to the following table.
-.Bl -column -offset indent ".Fn strtoimax" ".Dv INTMAX_MIN" ".Dv INTMAX_MAX"
-.It Sy Function Ta Sy underflow Ta Sy overflow
-.It Fn strtol Ta Dv LONG_MIN Ta Dv LONG_MAX
-.It Fn strtoll Ta Dv LLONG_MIN Ta Dv LLONG_MAX
-.It Fn strtoimax Ta Dv INTMAX_MIN Ta Dv INTMAX_MAX
-.It Fn strtoq Ta Dv LLONG_MIN Ta Dv LLONG_MAX
-.El
+.Er ERANGE .
.Sh ERRORS
.Bl -tag -width Er
.It Bq Er EINVAL
The value of
.Fa base
is not supported or
-no conversion could be performed
-(the last feature is not portable across all platforms).
+no conversion could be performed.
.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 strtol
-and
-.Fn strtoll
-functions.
.Sh SEE ALSO
.Xr atof 3 ,
.Xr atoi 3 ,
.Xr atol 3 ,
.Xr strtod 3 ,
-.Xr strtol_l 3 ,
-.Xr strtoul 3 ,
-.Xr wcstol 3 ,
-.Xr compat 5
+.Xr strtoul 3
.Sh STANDARDS
The
.Fn strtol
@@ -250,10 +198,8 @@
.St -isoC .
The
.Fn strtoll
-and
-.Fn strtoimax
-functions
-conform to
+function
+conforms to
.St -isoC-99 .
The
.Bx