From 3c94dc45dfb15483d76c47a128ec352cc0b655ac Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Wed, 4 May 2022 18:02:08 +0000 Subject: This commit was manufactured by cvs2git to create tag 'tb_20220504'. --- src/lib/libc/stdlib/strtoul.3 | 260 ------------------------------------------ 1 file changed, 260 deletions(-) delete mode 100644 src/lib/libc/stdlib/strtoul.3 (limited to 'src/lib/libc/stdlib/strtoul.3') diff --git a/src/lib/libc/stdlib/strtoul.3 b/src/lib/libc/stdlib/strtoul.3 deleted file mode 100644 index dd5668d1d6..0000000000 --- a/src/lib/libc/stdlib/strtoul.3 +++ /dev/null @@ -1,260 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 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. 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. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $OpenBSD: strtoul.3,v 1.24 2014/11/30 21:21:59 schwarze Exp $ -.\" -.Dd $Mdocdate: November 30 2014 $ -.Dt STRTOUL 3 -.Os -.Sh NAME -.Nm strtoul , -.Nm strtoull , -.Nm strtoumax , -.Nm strtouq -.Nd convert a string to an unsigned long, unsigned long long or uintmax_t integer -.Sh SYNOPSIS -.In limits.h -.In stdlib.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" -.In inttypes.h -.Ft uintmax_t -.Fn strtoumax "const char *nptr" "char **endptr" "int base" -.In sys/types.h -.In limits.h -.In stdlib.h -.Ft u_quad_t -.Fn strtouq "const char *nptr" "char **endptr" "int base" -.Sh DESCRIPTION -The -.Fn strtoul -function converts the string in -.Fa nptr -to an -.Vt unsigned long -value. -The -.Fn strtoull -function converts the string in -.Fa nptr -to an -.Vt unsigned long long -value. -The -.Fn strtoumax -function converts the string in -.Fa nptr -to a -.Vt umaxint_t -value. -The -.Fn strtouq -function is a deprecated equivalent of -.Fn strtoull -and is provided for backwards compatibility with legacy programs. -The conversion is done according to the given -.Fa base , -which must be a number between 2 and 36 inclusive or the special value 0. -If the string in -.Fa nptr -represents a negative number, it will be converted to its unsigned equivalent. -This behavior is consistent with what happens when a signed integer type is -cast to its unsigned counterpart. -.Pp -The string may begin with an arbitrary amount of whitespace -(as determined by -.Xr isspace 3 ) -followed by a single optional -.Ql + -or -.Ql - -sign. -If -.Fa base -is zero or 16, the string may then include a -.Ql 0x -prefix, and the number will be read in base 16; otherwise, a zero -.Fa base -is taken as 10 (decimal) unless the next character is -.Ql 0 , -in which case it is taken as 8 (octal). -.Pp -The remainder of the string is converted to an -.Vt unsigned long , -.Vt unsigned long long , -or -.Vt uintmax_t -value in the obvious manner, -stopping at the first character which is not a valid digit -in the given base. -(In bases above 10, the letter -.Ql A -in either upper or lower case represents 10, -.Ql B -represents 11, and so forth, with -.Ql Z -representing 35.) -.Pp -If -.Fa endptr -is non-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 -in -.Fa *endptr . -(Thus, if -.Fa *nptr -is not -.Ql \e0 -but -.Fa **endptr -is -.Ql \e0 -on return, the entire string was valid.) -.Sh RETURN VALUES -The -.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. -If overflow occurs, -.Fn strtoul -returns -.Dv ULONG_MAX , -.Fn strtoull -returns -.Dv ULLONG_MAX , -.Fn strtoumax -returns -.Dv UINTMAX_MAX , -.Fn strtouq -returns -.Dv ULLONG_MAX -and the global variable -.Va errno -is set to -.Er ERANGE . -.Pp -There is no way to determine if -.Fn strtoul -has processed a negative number (and returned an unsigned value) short of -examining the string in -.Fa nptr -directly. -.Pp -If there is no valid digit, 0 is returned. -If -.Ar base -is invalid, 0 is returned and the global variable -.Va errno -is set to -.Er EINVAL . -.Sh EXAMPLES -Ensuring that a string is a valid number (i.e., in range and containing no -trailing characters) requires clearing -.Va errno -beforehand explicitly since -.Va errno -is not changed on a successful call to -.Fn strtoul , -and the return value of -.Fn strtoul -cannot be used unambiguously to signal an error: -.Bd -literal -offset indent -char *ep; -unsigned long ulval; - -\&... - -errno = 0; -ulval = strtoul(buf, &ep, 10); -if (buf[0] == '\e0' || *ep != '\e0') - goto not_a_number; -if (errno == ERANGE && ulval == ULONG_MAX) - goto out_of_range; -.Ed -.Pp -This example will accept -.Dq 12 -but not -.Dq 12foo -or -.Dq 12\en . -If trailing whitespace is acceptable, further checks must be done on -.Va *ep ; -alternately, use -.Xr sscanf 3 . -.Sh ERRORS -.Bl -tag -width Er -.It Bq Er EINVAL -The value of -.Ar base -was neither between 2 and 36 inclusive nor the special value 0. -.It Bq Er ERANGE -The given string was out of range; the value converted has been clamped. -.El -.Sh SEE ALSO -.Xr sscanf 3 , -.Xr strtol 3 -.Sh STANDARDS -The -.Fn strtoul , -.Fn strtoull , -and -.Fn strtoumax -functions conform to -.St -isoC-99 . -Setting -.Va errno -to -.Dv EINVAL -is an extension to that standard required by -.St -p1003.1-2008 . -.Pp -The -.Fn strtouq -function is a -.Bx -extension and is provided for backwards compatibility with legacy programs. -.Sh BUGS -Ignores the current locale. -- cgit v1.2.3-55-g6feb