summaryrefslogtreecommitdiff
path: root/apps/plugins/lua/strstr.c
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-05-21 19:01:41 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-05-21 19:01:41 +0000
commitcf87597226f5d6b269f1f2c4d6f402aa1eccb852 (patch)
tree4ba1f3ae53b3bd9cae0e2c6c4dd57836b43a5ece /apps/plugins/lua/strstr.c
parentc483efadc63eaed35b5fb5e4e02c2282daf32470 (diff)
Commit FS#9174: Lua scripting language by Dan Everton
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21020 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lua/strstr.c')
-rw-r--r--apps/plugins/lua/strstr.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/apps/plugins/lua/strstr.c b/apps/plugins/lua/strstr.c
new file mode 100644
index 0000000000..2db47f4adf
--- /dev/null
+++ b/apps/plugins/lua/strstr.c
@@ -0,0 +1,16 @@
+#include "rocklibc.h"
+
+char *strstr(const char *haystack, const char *needle) {
+ size_t nl=strlen(needle);
+ size_t hl=strlen(haystack);
+ int i;
+ if (!nl) goto found;
+ if (nl>hl) return 0;
+ for (i=hl-nl+1; __likely(i); --i) {
+ if (*haystack==*needle && !memcmp(haystack,needle,nl))
+found:
+ return (char*)haystack;
+ ++haystack;
+ }
+ return 0;
+}