diff options
Diffstat (limited to 'apps/plugins/lua/strstr.c')
-rw-r--r-- | apps/plugins/lua/strstr.c | 16 |
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; +} |