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("<BR>Got %s, made %s<BR>", 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, ' ');
 }