aboutsummaryrefslogtreecommitdiff
path: root/xdiff
diff options
context:
space:
mode:
authorMarco Roeland <marco.roeland@xs4all.nl>2006-04-08 17:27:20 +0200
committerJunio C Hamano <junkio@cox.net>2006-04-08 23:35:22 -0700
commit0ed49a3ed9ab9747f7916c928d50aa0bf4d2c81d (patch)
tree9bf043fa963ffbf69a1677e9b03e39f6456ba298 /xdiff
parentfc5807190ef700d01e25968f48438736f18ae3dc (diff)
downloadgit-0ed49a3ed9ab9747f7916c928d50aa0bf4d2c81d.tar.gz
git-0ed49a3ed9ab9747f7916c928d50aa0bf4d2c81d.tar.xz
xdiff/xdiffi.c: fix warnings about possibly uninitialized variables
Compiling this module gave the following warnings (some double dutch!): xdiff/xdiffi.c: In functie 'xdl_recs_cmp': xdiff/xdiffi.c:298: let op: 'spl.i1' may be used uninitialized in this function xdiff/xdiffi.c:298: let op: 'spl.i2' may be used uninitialized in this function xdiff/xdiffi.c:219: let op: 'fbest1' may be used uninitialized in this function xdiff/xdiffi.c:219: let op: 'bbest1' may be used uninitialized in this function A superficial tracking of their usage, without deeper knowledge about the algorithm, indeed confirms that there are code paths on which these variables will be used uninitialized. In practice these code paths might never be reached, but then these fixes will not change the algorithm. If these code paths are ever reached we now at least have a predictable outcome. And should the very small performance impact of these initializations be noticeable, then they should at least be replaced by comments why certain code paths will never be reached. Some extra initializations in this patch now fix the warnings.
Diffstat (limited to 'xdiff')
-rw-r--r--xdiff/xdiffi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c
index e81bca633..641362d05 100644
--- a/xdiff/xdiffi.c
+++ b/xdiff/xdiffi.c
@@ -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 ...