summaryrefslogtreecommitdiff
path: root/src/lib/libc/string/strcspn.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/string/strcspn.3')
-rw-r--r--src/lib/libc/string/strcspn.363
1 files changed, 43 insertions, 20 deletions
diff --git a/src/lib/libc/string/strcspn.3 b/src/lib/libc/string/strcspn.3
index cc9e5c2fe3..70c8ef7612 100644
--- a/src/lib/libc/string/strcspn.3
+++ b/src/lib/libc/string/strcspn.3
@@ -1,3 +1,5 @@
1.\" $OpenBSD: strcspn.3,v 1.10 2011/07/25 00:38:53 schwarze Exp $
2.\"
1.\" Copyright (c) 1990, 1991 The Regents of the University of California. 3.\" Copyright (c) 1990, 1991 The Regents of the University of California.
2.\" All rights reserved. 4.\" All rights reserved.
3.\" 5.\"
@@ -13,11 +15,7 @@
13.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" 2. Redistributions in binary form must reproduce the above copyright
14.\" notice, this list of conditions and the following disclaimer in the 16.\" notice, this list of conditions and the following disclaimer in the
15.\" documentation and/or other materials provided with the distribution. 17.\" documentation and/or other materials provided with the distribution.
16.\" 3. All advertising materials mentioning features or use of this software 18.\" 3. Neither the name of the University nor the names of its contributors
17.\" must display the following acknowledgement:
18.\" This product includes software developed by the University of
19.\" California, Berkeley and its contributors.
20.\" 4. Neither the name of the University nor the names of its contributors
21.\" may be used to endorse or promote products derived from this software 19.\" may be used to endorse or promote products derived from this software
22.\" without specific prior written permission. 20.\" without specific prior written permission.
23.\" 21.\"
@@ -33,10 +31,7 @@
33.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34.\" SUCH DAMAGE. 32.\" SUCH DAMAGE.
35.\" 33.\"
36.\" from: @(#)strcspn.3 5.3 (Berkeley) 6/29/91 34.Dd $Mdocdate: July 25 2011 $
37.\" $Id: strcspn.3,v 1.1.1.1 1995/10/18 08:42:22 deraadt Exp $
38.\"
39.Dd June 29, 1991
40.Dt STRCSPN 3 35.Dt STRCSPN 3
41.Os 36.Os
42.Sh NAME 37.Sh NAME
@@ -49,37 +44,65 @@
49.Sh DESCRIPTION 44.Sh DESCRIPTION
50The 45The
51.Fn strcspn 46.Fn strcspn
52function 47function spans the initial part of the NUL-terminated string
53spans the initial part of the null-terminated string
54.Fa s 48.Fa s
55as long as the characters from 49as long as the characters from
56.Fa s 50.Fa s
57do not occur in string 51do not occur in string
58.Fa charset 52.Fa charset
59(it 53(it spans the
60spans the
61.Em complement 54.Em complement
62of 55of
63.Fa charset ) . 56.Fa charset ) .
64.Sh RETURN VALUES 57.Sh RETURN VALUES
65The 58The
66.Fn strcspn 59.Fn strcspn
67function 60function returns the number of characters spanned.
68returns the number of characters spanned. 61.Sh EXAMPLES
62The following call to
63.Fn strcspn
64will return 3, since the first three characters of string
65.Fa s
66do not occur in string
67.Fa charset :
68.Bd -literal -offset indent
69char *s = "foobar";
70char *charset = "bar";
71size_t span;
72
73span = strcspn(s, charset);
74.Ed
75.Pp
76The following removes the first (if any) newline character from string
77.Fa line .
78This is useful for trimming the newline after a
79.Xr fgets 3
80call.
81.Bd -literal -offset indent
82char line[BUFSIZ];
83
84if (fgets(line, sizeof(line), fp) != NULL)
85 line[strcspn(line, "\en")] = '\e0';
86.Ed
69.Sh SEE ALSO 87.Sh SEE ALSO
70.Xr index 3 ,
71.Xr memchr 3 , 88.Xr memchr 3 ,
72.Xr rindex 3 ,
73.Xr strchr 3 , 89.Xr strchr 3 ,
74.Xr strpbrk 3 , 90.Xr strpbrk 3 ,
75.Xr strrchr 3 , 91.Xr strrchr 3 ,
76.Xr strsep 3 , 92.Xr strsep 3 ,
77.Xr strspn 3 , 93.Xr strspn 3 ,
78.Xr strstr 3 , 94.Xr strstr 3 ,
79.Xr strtok 3 95.Xr strtok 3 ,
96.Xr wcscspn 3
80.Sh STANDARDS 97.Sh STANDARDS
81The 98The
82.Fn strcspn 99.Fn strcspn
83function 100function conforms to
84conforms to
85.St -ansiC . 101.St -ansiC .
102.Sh HISTORY
103The
104.Fn strcspn
105function first appeared in
106.At III
107and was reimplemented for
108.Bx 4.3 Tahoe .