X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/9385eb3d10ebe5eb398c52040ec3dbfba9b0cdcf..2650fa9ee9806a25904566dea091b1225d74f063:/stdlib/FreeBSD/strtol.3 diff --git a/stdlib/FreeBSD/strtol.3 b/stdlib/FreeBSD/strtol.3 index 9f54054..6a6c99e 100644 --- a/stdlib/FreeBSD/strtol.3 +++ b/stdlib/FreeBSD/strtol.3 @@ -13,10 +13,6 @@ .\" 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. @@ -34,13 +30,16 @@ .\" SUCH DAMAGE. .\" .\" @(#)strtol.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.19 2002/10/10 04:31:57 tjr Exp $ +.\" $FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.23 2007/04/10 11:17:00 ru Exp $ .\" .Dd November 28, 2001 .Dt STRTOL 3 .Os .Sh NAME -.Nm strtol , strtoll , strtoimax , strtoq +.Nm strtoimax , +.Nm strtol , +.Nm strtoll , +.Nm strtoq .Nd "convert a string value to a" .Vt long , "long long" , intmax_t or @@ -49,26 +48,41 @@ 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 -.Fn strtol "const char * restrict nptr" "char ** restrict endptr" "int base" +.Fo strtol +.Fa "const char *restrict str" +.Fa "char **restrict endptr" +.Fa "int base" +.Fc .Ft long long -.Fn strtoll "const char * restrict nptr" "char ** restrict endptr" "int base" -.In inttypes.h -.Ft intmax_t -.Fn strtoimax "const char * restrict nptr" "char ** restrict endptr" "int base" +.Fo strtoll +.Fa "const char *restrict str" +.Fa "char **restrict endptr" +.Fa "int base" +.Fc .In sys/types.h .In stdlib.h .In limits.h .Ft quad_t -.Fn strtoq "const char *nptr" "char **endptr" "int base" +.Fo strtoq +.Fa "const char *str" +.Fa "char **endptr" +.Fa "int base" +.Fc .Sh DESCRIPTION The .Fn strtol function converts the string in -.Fa nptr +.Fa str to a .Vt long value. @@ -76,7 +90,7 @@ The .Fn strtoll function converts the string in -.Fa nptr +.Fa str to a .Vt "long long" value. @@ -84,7 +98,7 @@ The .Fn strtoimax function converts the string in -.Fa nptr +.Fa str to an .Vt intmax_t value. @@ -92,7 +106,7 @@ The .Fn strtoq function converts the string in -.Fa nptr +.Fa str to a .Vt quad_t value. @@ -147,11 +161,11 @@ stores the address of the first invalid character in If there were no digits at all, however, .Fn strtol stores the original value of -.Fa nptr +.Fa str in .Fa *endptr . (Thus, if -.Fa *nptr +.Fa *str is not .Ql \e0 but @@ -159,11 +173,17 @@ but 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 +.Fn strtoimax , and .Fn strtoq functions @@ -173,15 +193,16 @@ If no conversion could be performed, 0 is returned and the global variable .Va errno is set to -.Er EINVAL . +.Er EINVAL +(the last feature is not portable across all platforms). If an overflow or underflow occurs, .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" ".Sy overflow" ".Sy underflow" -.It Sy Function Ta Sy overflow Ta Sy underflow +.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 @@ -193,17 +214,30 @@ to the following table. 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 +.Fd #include +.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 wcstol 3 , +.Xr compat 5 .Sh STANDARDS The .Fn strtol