lkml.org 
[lkml]   [2001]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [off topic?] Re: [PATCH] strtok --> strsep in framebuffer drivers (part 2)
Date
> > René Scharfe wrote:
>
> > NAME
> > strsep - extract token from string
> > [...]
> > RETURN VALUE
> > The strsep() function returns a pointer to the token, or
> > NULL if delim is not found in stringp.
> >
> > If strsep returns NULL, and you dereference it -> Oops.
> >
> >
> > ! if (!this_opt)
> > continue;
>
> Is that manual page incorrect?
>
> I would think that
>
> strsep() returns NULL when *stringp points to '\0' character
>
> and that if delim is not found in stringp then stringp
> is just advanced to '\0' character of string (and original
> *stringp value is returned)
>
> If that is not true, then these all patches are incorrect.
> Namely last token will be skipped.

Seems that I have also good to talk to mayself....

lib/string.c tells truth.

strsep() returns NULL when *stringp is NULL.

if delim is not found *stringp is set to NULL (and original
*stringp value is returned).

Because kernel code claims that

* It returns empty tokens, too, behaving exactly like the libc function
* of that name. In fact, it was stolen from glibc2 and de-fancy-fied.
* Same semantics, slimmer shape. ;)

quoted manual page IS incorrect (at least if it describes glibc2 function.)

--
/"\ | Kari
\ / ASCII Ribbon Campaign | Hurtta
X Against HTML Mail |
/ \ |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:11    [W:0.094 / U:2.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site