+ mod = header_size % pattern_size;
+
+ for (i = 0; i < len; i += size) {
+ size = pattern_size - mod;
+ if (size > (len - i))
+ size = len - i;
+ if (memcmp(buf + i, pattern + mod, size))
+ // Let the slow compare find the first mismatch byte.
+ break;
+ mod = 0;
+ }