X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/8c8a5b54e79564c14fc7a2823a21a8f048449bcf..af359dea2e5ab3e937b62107ecd6a51d78189ed7:/usr/src/lib/libc/string/strtok.3 diff --git a/usr/src/lib/libc/string/strtok.3 b/usr/src/lib/libc/string/strtok.3 index 92be92c4b2..818cf1c27c 100644 --- a/usr/src/lib/libc/string/strtok.3 +++ b/usr/src/lib/libc/string/strtok.3 @@ -1,64 +1,111 @@ -.\" Copyright (c) 1988 The Regents of the University of California. +.\" Copyright (c) 1988, 1991 The Regents of the University of California. .\" All rights reserved. .\" -.\" %sccs.include.redist.man% +.\" This code is derived from software contributed to Berkeley by +.\" the American National Standards Committee X3, on Information +.\" Processing Systems. .\" -.\" @(#)strtok.3 5.5 (Berkeley) %G% +.\" 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. 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. .\" -.TH STRTOK 3 "" -.UC 3 -.SH NAME -strtok, strsep \- string token operations -.SH SYNOPSIS -.nf -.ft B -#include - -char * -strtok(char *str, const char *sep); -.ft R -.fi -.SH DESCRIPTION -.ft B +.\" 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. +.\" +.\" @(#)strtok.3 5.8 (Berkeley) 6/29/91 +.\" +.Dd June 29, 1991 +.Dt STRTOK 3 +.Os BSD 3 +.Sh NAME +.Nm strtok , +.Nm strsep +.Nd string token operations +.Sh SYNOPSIS +.Fd #include +.Ft char * +.Fn strtok "char *str" "const char *sep" +.Sh DESCRIPTION +.Bf -symbolic This interface is obsoleted by strsep(3). -.ft R -.PP -.I Strtok +.Ef +.Pp +The +.Fn strtok +function is used to isolate sequential tokens in a null-terminated string, -.IR str . -These tokens are separated in the string by -.B "one or more" -of the characters in -.IR sep . +.Fa str . +These tokens are separated in the string by at least one of the +characters in +.Fa sep . The first time that -.I strtok +.Fn strtok is called, -.I str +.Fa str should be specified; subsequent calls, wishing to obtain further tokens from the same string, should pass a null pointer instead. The separator string, -.IR sep , +.Fa sep , must be supplied each time, and may change between calls. -.PP -.I Strtok -returns a pointer to the start of each subsequent token in the string, -after replacing the token itself with a NUL character. +.Pp +The +.Fn strtok +function +returns a pointer to the beginning of each subsequent token in the string, +after replacing the token itself with a +.Dv NUL +character. When no more tokens remain, a null pointer is returned. -.SH SEE ALSO -index(3), memchr(3), rindex(3), strchr(3), strcspn(3), strpbrk(3), strrchr(3), -strsep(3), strspn(3), strstr(3) -.SH STANDARDS -.B Strtok -conforms to ANSI X3.159-1989 (``ANSI C''). -.SH BUGS +.Sh SEE ALSO +.Xr index 3 , +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 +.Sh STANDARDS +The +.Fn strtok +function +conforms to +.St -ansiC . +.Sh BUGS There is no way to get tokens from multiple strings simultaneously. -.PP +.Pp The System V -.B strtok -will, if handed a string containing only delimiter characters, -not alter the next starting point, so that a call to -.B strtok +.Fn strtok , +if handed a string containing only delimiter characters, +will not alter the next starting point, so that a call to +.Fn strtok with a different (or empty) delimiter string -may return a non-NULL value. +may return a +.Pf non- Dv NULL +value. Since this implementation always alters the next starting point, -such a sequence of calls would always return NULL. +such a sequence of calls would always return +.Dv NULL .