69513bab520465f6159419ac06b04289e8609839
kent
Fri Jan 7 11:53:36 2011 -0800
Making it so only hubs actually turned on are added.
diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c
index 88275d5..6379fdf 100644
--- src/hg/lib/hubConnect.c
+++ src/hg/lib/hubConnect.c
@@ -59,36 +59,42 @@
next = el->next;
hubConnectStatusFree(&el);
}
*pList = NULL;
}
static void hubConnectRemakeTrackHubVar(struct cart *cart)
/* Remake trackHub cart variable if need be from various check box vars. */
{
if (cartVarExists(cart, hgHubConnectRemakeTrackHub))
{
struct slPair *hubVarList = cartVarsWithPrefix(cart, hgHubConnectHubVarPrefix);
int prefixLength = strlen(hgHubConnectHubVarPrefix);
struct dyString *trackHubs = dyStringNew(0);
struct slPair *hubVar;
+ boolean firstOne = TRUE;
for (hubVar = hubVarList; hubVar != NULL; hubVar = hubVar->next)
{
- if (hubVar != hubVarList)
+ if (cartBoolean(cart, hubVar->name))
+ {
+ if (firstOne)
+ firstOne = FALSE;
+ else
dyStringAppendC(trackHubs, ' ');
dyStringAppend(trackHubs, hubVar->name + prefixLength);
}
+ }
slPairFreeList(&hubVarList);
cartSetString(cart, hubConnectTrackHubsVarName, trackHubs->string);
uglyf("
Got %s, made %s
", hgHubConnectRemakeTrackHub, trackHubs->string);
dyStringFree(&trackHubs);
cartRemove(cart, hgHubConnectRemakeTrackHub);
}
}
struct slName *hubConnectHubsInCart(struct cart *cart)
/* Return list of track hub ids that are turned on. */
{
hubConnectRemakeTrackHubVar(cart);
char *trackHubString = cartOptionalString(cart, hubConnectTrackHubsVarName);
return slNameListFromString(trackHubString, ' ');
}