[PATCH][GSoC] git-compat-util.h:rewrite skip_prefix() as loop
- From
- kgeorgiou <kyriakos.a.georgiou@gmail.com>
- Date
- Mar 1, 2014, 22:42 UTC
- Message-ID
- <1393713731-55358-1-git-send-email-kyriakos.a.georgiou@gmail.com>
Rewritten git-compat-util.h:skip_prefix() as a loop, so that it doesn't have to scan through the prefix string twice as a miniproject for GSoC 2014.
(I've just noticed that this miniproject has already been tackled by another contributor, if that's a problem I can pick something else.)
Looking forward to any kind of feedback.
- Kyriakos Georgiou
Signed-off-by: kgeorgiou <kyriakos.a.georgiou@gmail.com> --- git-compat-util.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h index 614a5e9..713f37a 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -357,8 +357,11 @@ extern int suffixcmp(const char *str, const char *suffix); static inline const char *skip_prefix(const char *str, const char *prefix) { - size_t len = strlen(prefix); - return strncmp(str, prefix, len) ? NULL : str + len; + while(*prefix && *str == *prefix) { + str++; + prefix++; + } + return *prefix ? NULL : str; } #if defined(NO_MMAP) || defined(USE_WIN32_MMAP)
-- 1.8.3.2