summaryrefslogtreecommitdiff
path: root/firmware/libc/strstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/libc/strstr.c')
-rw-r--r--firmware/libc/strstr.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/firmware/libc/strstr.c b/firmware/libc/strstr.c
new file mode 100644
index 0000000000..73fab1cc63
--- /dev/null
+++ b/firmware/libc/strstr.c
@@ -0,0 +1,38 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id: $
9 *
10 * Copyright (C) 1991, 1992 Linus Torvalds
11 * (from linux/lib/string.c)
12 *
13 ****************************************************************************/
14
15#include <string.h>
16
17/**
18 * strstr - Find the first substring in a %NUL terminated string
19 * @s1: The string to be searched
20 * @s2: The string to search for
21 */
22char *strstr(const char *s1, const char *s2)
23{
24 int l1, l2;
25
26 l2 = strlen(s2);
27 if (!l2)
28 return (char *)s1;
29 l1 = strlen(s1);
30 while (l1 >= l2) {
31 l1--;
32 if (!memcmp(s1, s2, l2))
33 return (char *)s1;
34 s1++;
35 }
36 return NULL;
37}
38