blob: 7d35445063e44d8efbc8d4c59753dbedebf2c756 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
extern void abort (void);
extern int inside_main;
__attribute__ ((__noinline__))
char *
strstr(const char *s1, const char *s2)
{
const char *p, *q;
#ifdef __OPTIMIZE__
if (inside_main)
abort ();
#endif
/* deliberately dumb algorithm */
for (; *s1; s1++)
{
p = s1, q = s2;
while (*q && *p)
{
if (*q != *p)
break;
p++, q++;
}
if (*q == 0)
return (char *)s1;
}
return 0;
}
|