c8b3b9017fc5d94a4f3a34d0905d2eff9e0051d2
galt
Fri Jul 17 19:50:18 2015 -0700
fixing cartDump so that cartDump calls to update cart for track data from hgTracks and ajax.js do not get limited by bottleneck.
diff --git src/hg/cartDump/cartDump.c src/hg/cartDump/cartDump.c
index 006979d..f994a19 100644
--- src/hg/cartDump/cartDump.c
+++ src/hg/cartDump/cartDump.c
@@ -14,66 +14,69 @@
#define CART_DUMP_REMOVE_VAR "n/a"
struct hash *oldVars = NULL;
void doMiddle(struct cart *cart)
/* cartDump - Dump contents of cart. */
{
#define MATCH_VAR "match"
char *vName = "cartDump.varName";
char *vVal = "cartDump.newValue";
char *wildcard;
boolean asTable = cartVarExists(cart,CART_DUMP_AS_TABLE);
-// To discourage hacking, call bottleneck
-hgBotDelay();
-
if (cgiVarExists("submit"))
{
char *varName = cgiOptionalString(vName);
char *newValue = cgiOptionalString(vVal);
if (isNotEmpty(varName) && isNotEmpty(newValue))
{
varName = skipLeadingSpaces(varName);
eraseTrailingSpaces(varName);
if (sameString(newValue, CART_DUMP_REMOVE_VAR) || sameString(newValue, CART_VAR_EMPTY))
cartRemove(cart, varName);
else
cartSetString(cart, varName, newValue);
}
cartRemove(cart, vVal);
cartRemove(cart, "submit");
}
if (cgiVarExists("noDisplay"))
{
+ // update cart vars for a track, called by hgTracks.js and ajax.js
+ // not useful to hackers, so there is no need to call bottleneck.
char *trackName = cgiOptionalString("g");
if (trackName != NULL && hashNumEntries(oldVars) > 0)
{
char *db = cartString(cart, "db");
struct trackDb *tdb = hTrackDbForTrack(db, trackName);
if (tdb != NULL && tdbIsComposite(tdb))
{
struct lm *lm = lmInit(0);
cartTdbTreeCleanupOverrides(tdb,cart,oldVars,lm);
lmCleanup(&lm);
}
}
return;
}
+
+// To discourage hacking, call bottleneck
+hgBotDelay();
+
if (asTable)
{
jsIncludeFile("utils.js",NULL);
jsIncludeFile("ajax.js",NULL);
printf("Show as plain text.
",CART_DUMP_AS_TABLE);
printf("