src/hg/lib/trackDbCustom.c 1.68
1.68 2009/07/20 20:53:46 tdreszer
Adding method for parent to abandon kids
Index: src/hg/lib/trackDbCustom.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/trackDbCustom.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -b -B -U 4 -r1.67 -r1.68
--- src/hg/lib/trackDbCustom.c 17 Jul 2009 06:24:58 -0000 1.67
+++ src/hg/lib/trackDbCustom.c 20 Jul 2009 20:53:46 -0000 1.68
@@ -898,4 +898,28 @@
metadataFree(&metadata);
return setting;
}
+int parentTdbAbandonTablelessChildren(char *db, struct trackDb *parentTdb)
+/* abandons tableless children from a container tdb, such as a composite
+ returns count of children that have been abandoned */
+{
+struct trackDb *goodKids = NULL;
+struct trackDb *childTdb;
+int badKids = 0;
+
+while((childTdb = slPopHead(&(parentTdb->subtracks))) != NULL)
+ {
+ if (hTableExists(db, childTdb->tableName))
+ slAddHead(&goodKids,childTdb);
+ else
+ {
+ badKids++;
+ trackDbFree(&childTdb);
+ }
+ }
+if(goodKids != NULL)
+ slReverse(&goodKids);
+parentTdb->subtracks = goodKids;
+return badKids;
+}
+