Messages in this thread |  | | From | Kari Hurtta <> | Subject | Re: [off topic?] Re: [PATCH] strtok --> strsep in framebuffer drivers (part 2) | Date | Sat, 27 Oct 2001 10:55:09 +0300 (EEST) |
| |
> > 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/
|  |