1/* Simple implementation of strstr for systems without it.
2   This function is in the public domain.  */
3
4/*
5
6@deftypefn Supplemental char* strstr (const char *@var{string}, const char *@var{sub})
7
8This function searches for the substring @var{sub} in the string
9@var{string}, not including the terminating null characters.  A pointer
10to the first occurrence of @var{sub} is returned, or @code{NULL} if the
11substring is absent.  If @var{sub} points to a string with zero
12length, the function returns @var{string}.
13
14@end deftypefn
15
16
17*/
18
19#include <stddef.h>
20
21extern int memcmp (const void *, const void *, size_t);
22extern size_t strlen (const char *);
23
24char *
25strstr (const char *s1, const char *s2)
26{
27  const size_t len = strlen (s2);
28  while (*s1)
29    {
30      if (!memcmp (s1, s2, len))
31	return (char *)s1;
32      ++s1;
33    }
34  return (0);
35}
36