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++ != ')')