summaryrefslogtreecommitdiff
path: root/apps/plugins/lua/strstr.c
diff options
context:
space:
mode:
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 @@
1#include "rocklibc.h"
2
3char *strstr(const char *haystack, const char *needle) {
4 size_t nl=strlen(needle);
5 size_t hl=strlen(haystack);
6 int i;
7 if (!nl) goto found;
8 if (nl>hl) return 0;
9 for (i=hl-nl+1; __likely(i); --i) {
10 if (*haystack==*needle && !memcmp(haystack,needle,nl))
11found:
12 return (char*)haystack;
13 ++haystack;
14 }
15 return 0;
16}