X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libiberty%2Fstrstr.c;h=60902ea40ee80b513a525f9403728398ea876d7e;hb=b4a983cb93fa80d1653194e0a58231327c7d8cd3;hp=fab36e3fb3d4e1c534890ad04b34f1f5b5fd02a6;hpb=252b5132c753830d5fd56823373aed85f2a0db63;p=deliverable%2Fbinutils-gdb.git diff --git a/libiberty/strstr.c b/libiberty/strstr.c index fab36e3fb3..60902ea40e 100644 --- a/libiberty/strstr.c +++ b/libiberty/strstr.c @@ -3,24 +3,16 @@ /* -NAME +@deftypefn Supplemental char* strstr (const char *@var{string}, const char *@var{sub}) - strstr -- locate first occurance of a substring +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 @code{NULL} if the +substring is absent. If @var{sub} points to a string with zero +length, the function returns @var{string}. -SYNOPSIS +@end deftypefn - #include - - char *strstr (char *s1, char *s2) - -DESCRIPTION - - Locates the first occurance in the string pointed to by S1 of - the string pointed to by S2. Returns a pointer to the substring - found, or a NULL pointer if not found. If S2 points to a string - with zero length, the function returns S1. - -BUGS */ @@ -28,24 +20,22 @@ BUGS /* 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); }