diff options
author | Lars Schneider <larsxschneider@gmail.com> | 2018-03-09 18:35:29 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-09 10:17:23 -0800 |
commit | 66b8af3e124a0c9dbad05f40c2f6d27614f34349 (patch) | |
tree | 177c2fdb410f395172a8c2365f93b67febcb3d83 | |
parent | strbuf: add xstrdup_toupper() (diff) | |
download | tgif-66b8af3e124a0c9dbad05f40c2f6d27614f34349.tar.xz |
strbuf: add a case insensitive starts_with()
Check in a case insensitive manner if one string is a prefix of another
string.
This function is used in a subsequent commit.
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | git-compat-util.h | 1 | ||||
-rw-r--r-- | strbuf.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h index 68b2ad531e..95c9b34832 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -455,6 +455,7 @@ extern void (*get_warn_routine(void))(const char *warn, va_list params); extern void set_die_is_recursing_routine(int (*routine)(void)); extern int starts_with(const char *str, const char *prefix); +extern int istarts_with(const char *str, const char *prefix); /* * If the string "str" begins with the string found in "prefix", return 1. @@ -11,6 +11,15 @@ int starts_with(const char *str, const char *prefix) return 0; } +int istarts_with(const char *str, const char *prefix) +{ + for (; ; str++, prefix++) + if (!*prefix) + return 1; + else if (tolower(*str) != tolower(*prefix)) + return 0; +} + int skip_to_optional_arg_default(const char *str, const char *prefix, const char **arg, const char *def) { |