diff options
author | Nick Clifton <nickc@redhat.com> | 2021-01-05 12:36:09 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2021-01-05 12:36:09 +0000 |
commit | d750c713c9a34c8835e8e60370708cae675edb40 (patch) | |
tree | 5698bd80d455c9662f4c7fe90d580c38bce7798b /libiberty/strstr.c | |
parent | 5f8c2a1507c052384ce700ad7c7fb9c0c10a2421 (diff) | |
download | gdb-d750c713c9a34c8835e8e60370708cae675edb40.zip gdb-d750c713c9a34c8835e8e60370708cae675edb40.tar.gz gdb-d750c713c9a34c8835e8e60370708cae675edb40.tar.bz2 |
Update libiberty with latest sources from gcc mainline
Diffstat (limited to 'libiberty/strstr.c')
-rw-r--r-- | libiberty/strstr.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/libiberty/strstr.c b/libiberty/strstr.c index 60902ea..c6f6849 100644 --- a/libiberty/strstr.c +++ b/libiberty/strstr.c @@ -16,26 +16,20 @@ length, the function returns @var{string}. */ - -/* FIXME: The above description is ANSI compiliant. This routine has not - been validated to comply with it. -fnf */ - #include <stddef.h> -extern char *strchr (const char *, int); -extern int strncmp (const void *, const void *, size_t); +extern int memcmp (const void *, const void *, size_t); extern size_t strlen (const char *); char * strstr (const char *s1, const char *s2) { - const char *p = s1; const size_t len = strlen (s2); - - for (; (p = strchr (p, *s2)) != 0; p++) + while (*s1) { - if (strncmp (p, s2, len) == 0) - return (char *)p; + if (!memcmp (s1, s2, len)) + return (char *)s1; + ++s1; } return (0); } |