skip_prefix(): scan prefix only once

Signed-off-by: David Kastrup <dak@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

David Kastrup committed Mar 4, 2014 at 00:22 UTC ba399c46d9d3930871480ec24518b1541bfdbab3
1 file changed +5 -2
git-compat-util.h
+5 -2
@@ -357,8 +357,11 @@ extern int suffixcmp(const char *str, const char *suffix);
357
358 static inline const char *skip_prefix(const char *str, const char *prefix)
359 {
360 - size_t len = strlen(prefix);
361 - return strncmp(str, prefix, len) ? NULL : str + len;
360 + do {
361 + if (!*prefix)
362 + return str;
363 + } while (*str++ == *prefix++);
364 + return NULL;
365 }
366
367 #if defined(NO_MMAP) || defined(USE_WIN32_MMAP)