author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | |
Thu, 6 Sep 2007 22:32:54 +0000 (00:32 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 7 Sep 2007 05:46:00 +0000 (22:46 -0700) | ||
commit | b21b9f1de313acb5550c070911ae58c735cdb451 | |
tree | 1c271b15eff9d772828cd634f3a1f6303bc49726 | tree | snapshot |
parent | 89b4256cfbb8d878cc4cd1104ac4865ba1f2a58e | commit | diff |
add memmem()
memmem() is a nice GNU extension for searching a length limited string
in another one.
This compat version is based on the version found in glibc 2.2 (GPL 2);
I only removed the optimization of checking the first char by hand, and
generally tried to keep the code simple. We can add it back if memcmp
shows up high in a profile, but for now I prefer to keep it (almost
trivially) simple.
Since I don't really know which platforms beside those with a glibc
have their own memmem(), I used a heuristic: if NO_STRCASESTR is set,
then NO_MEMMEM is set, too.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
memmem() is a nice GNU extension for searching a length limited string
in another one.
This compat version is based on the version found in glibc 2.2 (GPL 2);
I only removed the optimization of checking the first char by hand, and
generally tried to keep the code simple. We can add it back if memcmp
shows up high in a profile, but for now I prefer to keep it (almost
trivially) simple.
Since I don't really know which platforms beside those with a glibc
have their own memmem(), I used a heuristic: if NO_STRCASESTR is set,
then NO_MEMMEM is set, too.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile | diff | blob | history | |
compat/memmem.c | [new file with mode: 0644] | blob |
git-compat-util.h | diff | blob | history |