From 2077cebca00f57061b6a2c0ba41ab24cc97f3596 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Mon, 17 Sep 2007 23:06:23 +0000 Subject: * implement strstr * clean up usb_arcotg_dcd_enable git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14740 a1c6a512-1295-4272-9138-f99709370657 --- firmware/common/strstr.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 firmware/common/strstr.c (limited to 'firmware/common/strstr.c') diff --git a/firmware/common/strstr.c b/firmware/common/strstr.c new file mode 100644 index 0000000000..2f33629997 --- /dev/null +++ b/firmware/common/strstr.c @@ -0,0 +1,45 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id: $ + * + * Copyright (C) 2007 by Christian Gmeiner + * + ****************************************************************************/ + +#include + +/** + * Locate substring. + * @param search c string to be scanned. + * @param find c string containing the sequence of characters to match. + * @return a pointer to the first occurrence in search of any of the + * entire sequence of characters specified in find, or a + * null pointer if the sequence is not present in search. + */ +char *strstr(const char *search, const char *find) +{ + char *hend; + char *a, *b; + + if (*find == 0) return (char*)search; + hend = (char *)search + strlen(search) - strlen(find) + 1; + while (search < hend) { + if (*search == *find) { + a = (char *)search; + b = (char *)find; + for (;;) { + if (*b == 0) return (char*)search; + if (*a++ != *b++) { + break; + } + } + } + search++; + } + return 0; +} -- cgit v1.2.3