diff options
Diffstat (limited to 'firmware/libc/strstr.c')
-rw-r--r-- | firmware/libc/strstr.c | 38 |
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 | */ | ||
22 | char *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 | |||