On Tue, Mar 16, 2021 at 03:24:02PM +0000, Nikos Nikoleris wrote: > This change adds two functions from <string.h> in preparation for an > update in the libfdt. > > Signed-off-by: Nikos Nikoleris <nikos.nikoleris@xxxxxxx> > --- > lib/string.h | 4 +++- > lib/string.c | 23 +++++++++++++++++++++-- > 2 files changed, 24 insertions(+), 3 deletions(-) > > diff --git a/lib/string.h b/lib/string.h > index 493d51b..8da687e 100644 > --- a/lib/string.h > +++ b/lib/string.h > @@ -7,12 +7,14 @@ > #ifndef __STRING_H > #define __STRING_H > > -extern unsigned long strlen(const char *buf); > +extern size_t strlen(const char *buf); > +extern size_t strnlen(const char *buf, size_t maxlen); > extern char *strcat(char *dest, const char *src); > extern char *strcpy(char *dest, const char *src); > extern int strcmp(const char *a, const char *b); > extern int strncmp(const char *a, const char *b, size_t n); > extern char *strchr(const char *s, int c); > +extern char *strrchr(const char *s, int c); > extern char *strstr(const char *haystack, const char *needle); > extern void *memset(void *s, int c, size_t n); > extern void *memcpy(void *dest, const void *src, size_t n); > diff --git a/lib/string.c b/lib/string.c > index 75257f5..9cd626f 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -7,15 +7,24 @@ > > #include "libcflat.h" > > -unsigned long strlen(const char *buf) > +size_t strlen(const char *buf) > { > - unsigned long len = 0; > + size_t len = 0; > > while (*buf++) > ++len; > return len; > } > > +size_t strnlen(const char *buf, size_t maxlen) > +{ > + const char *sc; > + > + for (sc = buf; maxlen-- && *sc != '\0'; ++sc) > + /* nothing */; > + return sc - buf; > +} > + > char *strcat(char *dest, const char *src) > { > char *p = dest; > @@ -55,6 +64,16 @@ char *strchr(const char *s, int c) > return (char *)s; > } > > +char *strrchr(const char *s, int c) > +{ > + const char *last = NULL; > + do { > + if (*s != (char)c) This should be == > + last = s; > + } while (*s++); > + return (char *)last; > +} > + > char *strstr(const char *s1, const char *s2) > { > size_t l1, l2; > -- > 2.25.1 > Thanks, drew