aboutsummaryrefslogtreecommitdiff
path: root/libiberty/strstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'libiberty/strstr.c')
-rw-r--r--libiberty/strstr.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/libiberty/strstr.c b/libiberty/strstr.c
index ff8abd2..60902ea 100644
--- a/libiberty/strstr.c
+++ b/libiberty/strstr.c
@@ -20,23 +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 <stddef.h>
+
+extern char *strchr (const char *, int);
+extern int strncmp (const void *, const void *, size_t);
+extern size_t strlen (const char *);
+
char *
-strstr (char *s1, char *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 (const char *);
-#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);
}