Code

Counto-fix in merge-recursive
authorJunio C Hamano <junkio@cox.net>
Thu, 19 Apr 2007 02:05:57 +0000 (19:05 -0700)
committerJunio C Hamano <junkio@cox.net>
Thu, 19 Apr 2007 02:21:52 +0000 (19:21 -0700)
When the configuration has variables unrelated to low-level
merge drivers (e.g. merge.summary), the code failed to ignore
them but did something totally senseless.

Signed-off-by: Junio C Hamano <junkio@cox.net>
merge-recursive.c

index ec8438b463a5b096ceeca916126e440198ff4740..65c018b3ea504036091a03a4e6bb12b1c0011f6e 100644 (file)
@@ -809,6 +809,9 @@ static int ll_ext_merge(const struct ll_merge_driver *fn,
        int status, fd, i;
        struct stat st;
 
+       if (fn->cmdline == NULL)
+               die("custom merge driver %s lacks command line.", fn->name);
+
        result->ptr = NULL;
        result->size = 0;
        create_temp(orig, temp[0]);
@@ -879,7 +882,7 @@ static int read_merge_config(const char *var, const char *value)
         * especially, we do not want to look at variables such as
         * "merge.summary", "merge.tool", and "merge.verbosity".
         */
-       if (prefixcmp(var, "merge.") || (ep = strrchr(var, '.')) == var + 6)
+       if (prefixcmp(var, "merge.") || (ep = strrchr(var, '.')) == var + 5)
                return 0;
 
        /*