summaryrefslogtreecommitdiff
path: root/repo-config.c
diff options
context:
space:
mode:
Diffstat (limited to 'repo-config.c')
-rw-r--r--repo-config.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/repo-config.c b/repo-config.c
index 63eda1b..284af22 100644
--- a/repo-config.c
+++ b/repo-config.c
@@ -65,11 +65,13 @@ static int show_config(const char* key_, const char* value_)
static int get_value(const char* key_, const char* regex_)
{
int i;
+ char *tl;
- key = malloc(strlen(key_)+1);
- for (i = 0; key_[i]; i++)
- key[i] = tolower(key_[i]);
- key[i] = 0;
+ key = strdup(key_);
+ for (tl=key+strlen(key)-1; tl >= key && *tl != '.'; --tl)
+ *tl = tolower(*tl);
+ for (tl=key; *tl && *tl != '.'; ++tl)
+ *tl = tolower(*tl);
if (use_key_regexp) {
key_regexp = (regex_t*)malloc(sizeof(regex_t));