aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--com32/lib/memmem.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/com32/lib/memmem.c b/com32/lib/memmem.c
index 0f59938f..8558a80d 100644
--- a/com32/lib/memmem.c
+++ b/com32/lib/memmem.c
@@ -13,32 +13,32 @@
void *memmem(const void *haystack, size_t n, const void *needle, size_t m)
{
- const unsigned char *y = (const unsigned char *)haystack;
- const unsigned char *x = (const unsigned char *)needle;
+ const unsigned char *y = (const unsigned char *)haystack;
+ const unsigned char *x = (const unsigned char *)needle;
- size_t j, k, l;
+ size_t j, k, l;
- if ( m > n )
- return NULL;
-
- if ( x[0] == x[1] ) {
- k = 2;
- l = 1;
- } else {
- k = 1;
- l = 2;
- }
+ if (m > n)
+ return NULL;
- j = 0;
- while ( j <= n-m ) {
- if (x[1] != y[j+1]) {
- j += k;
+ if (x[0] == x[1]) {
+ k = 2;
+ l = 1;
} else {
- if ( !memcmp(x+2, y+j+2, m-2) && x[0] == y[j] )
- return (void *)&y[j];
- j += l;
+ k = 1;
+ l = 2;
}
- }
- return NULL;
+ j = 0;
+ while (j <= n - m) {
+ if (x[1] != y[j + 1]) {
+ j += k;
+ } else {
+ if (!memcmp(x + 2, y + j + 2, m - 2) && x[0] == y[j])
+ return (void *)&y[j];
+ j += l;
+ }
+ }
+
+ return NULL;
}