b15ea2ffb9f2fca6b6cb764ed39524f443828274
angie
  Wed May 4 15:48:23 2011 -0700
Fix for warning message produced only when -O is used: compiler thinksa variable might be used uninitialized, although it is initialized in
all if/else cases.  Thanks Tim for catching that!

diff --git src/lib/hacTree.c src/lib/hacTree.c
index f05dcc0..3d8d90c 100644
--- src/lib/hacTree.c
+++ src/lib/hacTree.c
@@ -63,31 +63,31 @@
  * alone -- they would be unstable during tree construction. */
 {
 node->left = (struct hacTree *)left;
 node->right = (struct hacTree *)right;
 node->childDistance = distF(left->itemOrCluster, right->itemOrCluster, extraData);
 node->itemOrCluster = mergeF(left->itemOrCluster, right->itemOrCluster, extraData);
 }
 
 INLINE struct hacTree preClusterNodes(const struct sortWrapper *leafWraps, int i, int runLength,
 				      hacDistanceFunction *distF, hacMergeFunction *mergeF,
 				      void *extraData, struct lm *localMem)
 /* Caller has allocated a node, and this returns what to store there:
  * a recursively constructed cluster of nodes extracted from wrapped
  * leafNodes (leafWraps) starting at i, for runLength items. */
 {
-struct hacTree ret;
+struct hacTree ret = {NULL, NULL, NULL, NULL, 0, NULL};
 if (runLength > 2)
     {
     struct hacTree *newClusters = lmAlloc(localMem, 2 * sizeof(struct hacTree));
     int halfLength = runLength/2;
     newClusters[0] = preClusterNodes(leafWraps, i, halfLength,
 				     distF, mergeF, extraData, localMem);
     newClusters[1] = preClusterNodes(leafWraps, i+halfLength, runLength-halfLength,
 				     distF, mergeF, extraData, localMem);
     initNode(&ret, &(newClusters[0]), &(newClusters[1]), distF, mergeF, extraData);
     }
 else if (runLength == 2)
     {
     initNode(&ret, leafWraps[i].node, leafWraps[i+1].node, distF, mergeF, extraData);
     }
 else