X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libiberty%2Fstrstr.c;h=60902ea40ee80b513a525f9403728398ea876d7e;hb=5f8989944880cad1bfffab3801214a0a9b67b72e;hp=ffe1d10fc9ef5f6e241cc7b8be1344943ef88a33;hpb=fa9f0e33b3c0510267d7a41f2f4ee72ba452c37e;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/strstr.c b/libiberty/strstr.c index ffe1d10fc9..60902ea40e 100644 --- a/libiberty/strstr.c +++ b/libiberty/strstr.c @@ -7,7 +7,7 @@ This function searches for the substring @var{sub} in the string @var{string}, not including the terminating null characters. A pointer -to the first occurrence of @var{sub} is returned, or NULL if the +to the first occurrence of @var{sub} is returned, or @code{NULL} if the substring is absent. If @var{sub} points to a string with zero length, the function returns @var{string}. @@ -20,24 +20,22 @@ 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 + +extern char *strchr (const char *, int); +extern int strncmp (const void *, const void *, size_t); +extern size_t strlen (const char *); + char * -strstr (s1, s2) - char *s1, *s2; +strstr (const char *s1, const char *s2) { - register char *p = s1; - extern char *strchr (); - extern int strncmp (); -#if __GNUC__==2 - extern __SIZE_TYPE__ strlen (); -#endif - register int len = strlen (s2); + const char *p = s1; + const size_t len = strlen (s2); for (; (p = strchr (p, *s2)) != 0; p++) { if (strncmp (p, s2, len) == 0) - { - return (p); - } + return (char *)p; } return (0); }