src/hg/lib/cart.c 1.117
1.117 2010/04/12 16:16:19 tdreszer
Better cart cleanup for tdb and children
Index: src/hg/lib/cart.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/cart.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -b -B -U 4 -r1.116 -r1.117
--- src/hg/lib/cart.c 14 Jan 2010 07:37:39 -0000 1.116
+++ src/hg/lib/cart.c 12 Apr 2010 16:16:19 -0000 1.117
@@ -1844,9 +1844,9 @@
void cartRemoveAllForTdb(struct cart *cart, struct trackDb *tdb)
/* Remove all variables from cart that are associated with this tdb. */
{
-char setting[128];
+char setting[256];
safef(setting,sizeof(setting),"%s.",tdb->tableName);
cartRemovePrefix(cart,setting);
safef(setting,sizeof(setting),"%s_",tdb->tableName); // TODO: All should be {tableName}.{varName}... Fix {tableName}_sel
cartRemovePrefix(cart,setting);
@@ -1856,12 +1856,13 @@
void cartRemoveAllForTdbAndChildren(struct cart *cart, struct trackDb *tdb)
/* Remove all variables from cart that are associated
with this tdb and it's children. */
{
-cartRemoveAllForTdb(cart,tdb);
struct trackDb *subTdb;
for(subTdb=tdb->subtracks;subTdb!=NULL;subTdb=subTdb->next)
cartRemoveAllForTdbAndChildren(cart,subTdb);
+cartRemoveAllForTdb(cart,tdb);
+ saveState(cart);
}
char *cartOrTdbString(struct cart *cart, struct trackDb *tdb, char *var, char *defaultVal)
/* Look first in cart, then in trackDb for var. Return defaultVal if not found. */