Improve the git-diff-tree -c/-cc documentation
[git.git] / xdiff / xdiffi.c
index 8ea0483..641362d 100644 (file)
@@ -218,7 +218,7 @@ static long xdl_split(unsigned long const *ha1, long off1, long lim1,
                if (ec >= xenv->mxcost) {
                        long fbest, fbest1, bbest, bbest1;
 
-                       fbest = -1;
+                       fbest = fbest1 = -1;
                        for (d = fmax; d >= fmin; d -= 2) {
                                i1 = XDL_MIN(kvdf[d], lim1);
                                i2 = i1 - d;
@@ -230,7 +230,7 @@ static long xdl_split(unsigned long const *ha1, long off1, long lim1,
                                }
                        }
 
-                       bbest = XDL_LINE_MAX;
+                       bbest = bbest1 = XDL_LINE_MAX;
                        for (d = bmax; d >= bmin; d -= 2) {
                                i1 = XDL_MAX(off1, kvdb[d]);
                                i2 = i1 - d;
@@ -296,6 +296,7 @@ int xdl_recs_cmp(diffdata_t *dd1, long off1, long lim1,
        } else {
                long ec;
                xdpsplit_t spl;
+               spl.i1 = spl.i2 = 0;
 
                /*
                 * Divide ...
@@ -349,12 +350,7 @@ int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
        kvdf += xe->xdf2.nreff + 1;
        kvdb += xe->xdf2.nreff + 1;
 
-       /*
-        * Classical integer square root approximation using shifts.
-        */
-       xenv.mxcost = 1;
-       for (; ndiags; ndiags >>= 2)
-               xenv.mxcost <<= 1;
+       xenv.mxcost = xdl_bogosqrt(ndiags);
        if (xenv.mxcost < XDL_MAX_COST_MIN)
                xenv.mxcost = XDL_MAX_COST_MIN;
        xenv.snake_cnt = XDL_SNAKE_CNT;