Browse Source

Merge branch 'dk/skip-prefix-scan-only-once'

Update implementation of skip_prefix() to scan only once; given
that most "prefix" arguments to the inline function are constant
strings whose strlen() can be determined at the compile time, this
might actually make things worse with a compiler with sufficient
intelligence.

* dk/skip-prefix-scan-only-once:
  skip_prefix(): scan prefix only once
maint
Junio C Hamano 11 years ago
parent
commit
1be645c0b1
  1. 7
      git-compat-util.h

7
git-compat-util.h

@ -343,8 +343,11 @@ extern int ends_with(const char *str, const char *suffix); @@ -343,8 +343,11 @@ extern int ends_with(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;
do {
if (!*prefix)
return str;
} while (*str++ == *prefix++);
return NULL;
}

#if defined(NO_MMAP) || defined(USE_WIN32_MMAP)

Loading…
Cancel
Save