summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/config.c15
-rw-r--r--src/config.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/src/config.c b/src/config.c
index 0870ce620..4c4db91af 100644
--- a/src/config.c
+++ b/src/config.c
@@ -70,6 +70,20 @@ static git_cvar *cvar_list_find(git_cvar *start, const char *name)
return NULL;
}
+void strntolower(char *str, int len)
+{
+ int i;
+
+ for (i = 0; i < len; ++i) {
+ str[len] = tolower(str[len]);
+ }
+}
+
+void strtolower(char *str)
+{
+ strntolower(str, strlen(str));
+}
+
int git_config_open(git_config **cfg_out, const char *path)
{
git_config *cfg;
@@ -544,6 +558,7 @@ static int parse_section_header(git_config *cfg, char **section_out, const char
}
name[name_length] = 0;
+ strtolower(name);
*section_out = name;
return GIT_SUCCESS;
diff --git a/src/config.h b/src/config.h
index b718453a4..c8e9fe062 100644
--- a/src/config.h
+++ b/src/config.h
@@ -30,4 +30,7 @@ struct git_cvar {
#define CVAR_LIST_FOREACH(start, iter) \
for ((iter) = (start); (iter) != NULL; (iter) = (iter)->next)
+void strtolower(char *str);
+void strntolower(char *str, int len);
+
#endif