From: Michael Kerrisk <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Georg Sauthoff <mail-vzQcyvifq/Y@public.gmane.org>
Cc: Michael Kerrisk
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: strtok - strings without delimiters
Date: Sun, 02 Jun 2013 14:28:17 +0200 [thread overview]
Message-ID: <51AB3A61.5030004@gmail.com> (raw)
In-Reply-To: <20130601205854.GP21458-w6h1d7rV6+VwFLYp8hBm2A@public.gmane.org>
Hi Georg,
On 06/01/13 22:58, Georg Sauthoff wrote:
> On Sun, May 19, 2013 at 10:46:49PM +0200, Michael Kerrisk wrote:
[...]
>>> but perhaps it makes sense to explicitly
>>> address these issues in the Linux man page.
>
>> Anyway, I agree that the page could be clearer. I've added the following text:
>
>> A sequence of calls to strtok() that operate on the same string
>> maintains a pointer that determines the point from which to
>> start searching for the next token. The first call to strtok()
>> sets this pointer to point to the first byte of the string.
>
>> The start of the next token is determined by scanning forward
>> for the next nondelimiter byte in str. If such a byte is
>> found, it is taken as the start of the next token. If no such
>> byte is found, then there are no more tokens, and strtok()
>> returns NULL. (A string that is empty or that contains only
>> delimiter will thus cause strtok() to return NULL on the first
>
> plural, delimiters?
Fixed now.
>> call.)
>>
>> The end of each token is found by scanning forward until either
>> the next delimiter byte is found or until the terminating null
>> byte ('\0') is encountered. If a delimiter byte is found, it
>> is overwritten with a null byte to terminate the current token,
>> and strtok() saves a pointer to the following byte; that
>> pointer will be used as the starting point when searching for
>> the next token. In this case, strtok() returns a pointer to
>> the start of the found token.
>
>> From the above description, it follows thatt a sequence of two
>
> typo: /thatt/that/
Looks like I already fixed that one.
>> or more contiguous delimiter bytes in the parsed string is con‐
>> sidered to be a single delimiter, and that delimiter bytes at
>> the start or end of the string are ignored. Put another way:
>> the tokens returned by strtok() are always nonempty strings.
>> Thus, for example, given the string "aaa;;bbb,", successive
>> calls to strtok() that specify the delimiter string ";," would
>> return the strings "aaa" and "bbb", and then a NULL pointer.
>
>> Sufficient?
>
> Yes!
Good. thank you for checking the text.
Cheers,
Michael
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2013-06-02 12:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-12 20:22 strtok - strings without delimiters Georg Sauthoff
[not found] ` <20130512202212.GL21458-w6h1d7rV6+VwFLYp8hBm2A@public.gmane.org>
2013-05-19 20:46 ` Michael Kerrisk
[not found] ` <51993A39.3060606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-06-01 20:58 ` Georg Sauthoff
[not found] ` <20130601205854.GP21458-w6h1d7rV6+VwFLYp8hBm2A@public.gmane.org>
2013-06-02 12:28 ` Michael Kerrisk [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51AB3A61.5030004@gmail.com \
--to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mail-vzQcyvifq/Y@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).