[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] lib/nolibc: Introduce strtok_r
Hi Sharan, All code imported from musl should go to musl-imported/ subdirectory of lib/nolibc. This way we can differentiate what's of musl origin from the other stuff. Cheers, Costin On 10/7/19 12:56 PM, Sharan Santhanam wrote: > The code taken from musl. > File: src/string/strtok_r.c > Commit Id: 400c5e5c8307 > > Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> > --- > lib/nolibc/exportsyms.uk | 1 + > lib/nolibc/include/string.h | 1 + > lib/nolibc/string.c | 15 +++++++++++++++ > 3 files changed, 17 insertions(+) > > diff --git a/lib/nolibc/exportsyms.uk b/lib/nolibc/exportsyms.uk > index c542f3a..cf083ef 100644 > --- a/lib/nolibc/exportsyms.uk > +++ b/lib/nolibc/exportsyms.uk > @@ -65,6 +65,7 @@ strcmp > strcspn > strspn > strtok > +strtok_r > strndup > strdup > strlcpy > diff --git a/lib/nolibc/include/string.h b/lib/nolibc/include/string.h > index c5f0caa..9a1a63c 100644 > --- a/lib/nolibc/include/string.h > +++ b/lib/nolibc/include/string.h > @@ -65,6 +65,7 @@ int strcmp(const char *str1, const char *str2); > size_t strcspn(const char *s, const char *c); > size_t strspn(const char *s, const char *c); > char *strtok(char *restrict s, const char *restrict sep); > +char *strtok_r(char *restrict s, const char *restrict sep, char **restrict > p); > char *strndup(const char *str, size_t len); > char *strdup(const char *str); > > diff --git a/lib/nolibc/string.c b/lib/nolibc/string.c > index d4d1db2..327efcc 100644 > --- a/lib/nolibc/string.c > +++ b/lib/nolibc/string.c > @@ -285,6 +285,21 @@ char *strtok(char *restrict s, const char *restrict sep) > return s; > } > > +char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p) > +{ > + if (!s && !(s = *p)) > + return NULL; > + s += strspn(s, sep); > + if (!*s) > + return *p = 0; > + *p = s + strcspn(s, sep); > + if (**p) > + *(*p)++ = 0; > + else > + *p = 0; > + return s; > +} > + > char *strndup(const char *str, size_t len) > { > char *__res; > _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |