Add files via upload
This commit is contained in:
parent
82210187a6
commit
2f0f432ceb
|
@ -238,15 +238,13 @@ static char* dumb_memmem(const char* haystack, unsigned int hlen,
|
|||
if (nlen > hlen) return NULL;
|
||||
if (nlen == 0) return (char*)haystack;
|
||||
|
||||
for (unsigned int i = 0; i <= hlen - nlen; i++) {
|
||||
for (unsigned int j = 0; j < nlen; j++) {
|
||||
if (haystack[i + j] != needle[j]) {
|
||||
break;
|
||||
}
|
||||
unsigned int skip[256];
|
||||
for (size_t i = 0; i < 256; ++i) skip[i] = nlen;
|
||||
for (size_t i = 0; i < nlen - 1; ++i) skip[(unsigned char)needle[i]] = nlen - i - 1;
|
||||
|
||||
if (j == nlen - 1) {
|
||||
return (char*)(haystack + i);
|
||||
}
|
||||
for (size_t i = nlen - 1; i < hlen; i += skip[(unsigned char)haystack[i]]) {
|
||||
if (memcmp(haystack + i - nlen + 1, needle, nlen) == 0) {
|
||||
return (char*)(haystack + i - nlen + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue