1 #include "../git-compat-util.h"
3 void *gitmemmem(const void *haystack
, size_t haystack_len
,
4 const void *needle
, size_t needle_len
)
6 const char *begin
= haystack
;
7 const char *last_possible
= begin
+ haystack_len
- needle_len
;
8 const char *tail
= needle
;
12 * The first occurrence of the empty string is deemed to occur at
13 * the beginning of the string.
19 * Sanity check, otherwise the loop might search through the whole
22 if (haystack_len
< needle_len
)
26 for (; begin
<= last_possible
; begin
++) {
27 if (*begin
== point
&& !memcmp(begin
+ 1, tail
, needle_len
- 1))