From: kgeorgiou Date: Sat, 01 Mar 2014 22:42:11 GMT Subject: [PATCH][GSoC] git-compat-util.h:rewrite skip_prefix() as loop 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 --- 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