Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 1 | /*************************************************************************** |
| 2 | * __________ __ ___. |
| 3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
| 4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
| 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
| 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
| 7 | * \/ \/ \/ \/ \/ |
| 8 | * $Id: $ |
| 9 | * |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 10 | * Copyright (C) 1991, 1992 Linus Torvalds |
| 11 | * (from linux/lib/string.c) |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 12 | * |
| 13 | ****************************************************************************/ |
| 14 | |
| 15 | #include <string.h> |
| 16 | |
| 17 | /** |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 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 |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 21 | */ |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 22 | char *strstr(const char *s1, const char *s2) |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 23 | { |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 24 | int l1, l2; |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 25 | |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 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++; |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 35 | } |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 36 | return NULL; |
Christian Gmeiner | 2077ceb | 2007-09-17 23:06:23 +0000 | [diff] [blame] | 37 | } |
Daniel Stenberg | a20f32d | 2007-09-18 07:04:05 +0000 | [diff] [blame] | 38 | |