diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-05-22 14:10:49 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-22 14:10:49 +0900 |
commit | 7b01c71b64d25202d80b73cbd46104ebfddbdab3 (patch) | |
tree | 98de7ee189397c8e539459ed1a699be47cc0bff3 /git-compat-util.h | |
parent | fc849d8d6b90e5c1e0c37bc0d60dd92b2fe7347f (diff) | |
parent | 0114f71344844be9e5add321cffea34bac077d75 (diff) | |
download | git-7b01c71b64d25202d80b73cbd46104ebfddbdab3.tar.gz |
Sync with Git 2.13.7
* maint-2.13:
Git 2.13.7
verify_path: disallow symlinks in .gitmodules
update-index: stat updated files earlier
verify_dotfile: mention case-insensitivity in comment
verify_path: drop clever fallthrough
skip_prefix: add case-insensitive variant
is_{hfs,ntfs}_dotgitmodules: add tests
is_ntfs_dotgit: match other .git files
is_hfs_dotgit: match other .git files
is_ntfs_dotgit: use a size_t for traversing string
submodule-config: verify submodule names as paths
Diffstat (limited to 'git-compat-util.h')
-rw-r--r-- | git-compat-util.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index bf4869dcef..6cb3c2f19e 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -980,6 +980,23 @@ static inline int sane_iscase(int x, int is_lower) return (x & 0x20) == 0; } +/* + * Like skip_prefix, but compare case-insensitively. Note that the comparison + * is done via tolower(), so it is strictly ASCII (no multi-byte characters or + * locale-specific conversions). + */ +static inline int skip_iprefix(const char *str, const char *prefix, + const char **out) +{ + do { + if (!*prefix) { + *out = str; + return 1; + } + } while (tolower(*str++) == tolower(*prefix++)); + return 0; +} + static inline int strtoul_ui(char const *s, int base, unsigned int *result) { unsigned long ul; |