diff --git a/repo-config.c b/repo-config.c
index 63eda1bb783fcb9ff72843e74383abb0f0581441..127afd784c1fcdb531c1d3435f724d0041151e90 100644 (file)
--- a/repo-config.c
+++ b/repo-config.c
static int get_value(const char* key_, const char* regex_)
{
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));
if (use_key_regexp) {
key_regexp = (regex_t*)malloc(sizeof(regex_t));