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, ' '); }