src/lib/phyloTree.c 1.10
1.10 2009/06/24 01:19:55 galt
adding more error checking to phyloTree, especially for case of missing subtree (A,);
Index: src/lib/phyloTree.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/phyloTree.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -b -B -U 4 -r1.9 -r1.10
--- src/lib/phyloTree.c 17 Sep 2008 17:56:38 -0000 1.9
+++ src/lib/phyloTree.c 24 Jun 2009 01:19:55 -0000 1.10
@@ -83,8 +83,11 @@
newSize = parent->allocedEdges * sizeof (struct phyloTree *);
parent->edges = needMoreMem(parent->edges, oldSize, newSize);
}
+if (!child)
+ errAbort("unexpected error: child is null in phyloTree.c::newEdge()");
+
child->parent = parent;
return parent->edges[parent->numEdges -1 ] = child;
}
@@ -112,9 +115,12 @@
ptr++;
do
{
- edge = newEdge(node,parseSubTree(&ptr));
+ struct phyloTree *child = parseSubTree(&ptr);
+ if (!child)
+ errAbort("missing child/subTree at (%s)",ptr-1);
+ edge = newEdge(node,child);
edge->parent = node;
} while (*ptr++ == ',');
--ptr;
if (*ptr++ != ')')