convert some config callbacks to parse_config_key
[gitweb.git] / userdiff.c
index ed958ef6b8b912436ad0145fe650adea083412e3..a4ea1e97b73fbb81a1c0afb1ee6908fa9f4f877f 100644 (file)
@@ -188,20 +188,13 @@ static struct userdiff_driver *parse_driver(const char *var,
                const char *value, const char *type)
 {
        struct userdiff_driver *drv;
-       const char *dot;
-       const char *name;
+       const char *name, *key;
        int namelen;
 
-       if (prefixcmp(var, "diff."))
-               return NULL;
-       dot = strrchr(var, '.');
-       if (dot == var + 4)
-               return NULL;
-       if (strcmp(type, dot+1))
+       if (parse_config_key(var, "diff", &name, &namelen, &key) < 0 ||
+           !name || strcmp(type, key))
                return NULL;
 
-       name = var + 5;
-       namelen = dot - name;
        drv = userdiff_find_by_namelen(name, namelen);
        if (!drv) {
                ALLOC_GROW(drivers, ndrivers+1, drivers_alloc);