ebbd241c1fcafa6204bcab73dc66770a3202901d braney Wed Oct 21 15:55:42 2015 -0700 get frames to work with bigMaf #15935 diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index c502f21..1f428ab 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -671,57 +671,49 @@ if (val == NULL) errAbort("Missing required '%s' setting in hub %s genome %s track %s", setting, hub->url, genome->name, tdb->track); return val; } static void forbidSetting(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb, char *setting) /* Abort if forbidden setting found. */ { if (trackDbSetting(tdb, setting)) errAbort("Forbidden setting '%s' in hub %s genome %s track %s", setting, hub->url, genome->name, tdb->track); } -static void expandBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome, - struct trackDb *tdb) -/* Expand bigDataUrls so that no longer relative to genome->trackDbFile */ +static void expandOneUrl(struct hash *settingsHash, char *hubUrl, char *variable) { -struct hashEl *hel = hashLookup(tdb->settingsHash, "bigDataUrl"); +struct hashEl *hel = hashLookup(settingsHash, variable); if (hel != NULL) { char *oldVal = hel->val; - hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal); + hel->val = trackHubRelativeUrl(hubUrl, oldVal); freeMem(oldVal); } - -hel = hashLookup(tdb->settingsHash, "summary"); -if (hel != NULL) - { - char *oldVal = hel->val; - hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal); - freeMem(oldVal); } -hel = hashLookup(tdb->settingsHash, "searchTrix"); -if (hel != NULL) +static void expandBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome, + struct trackDb *tdb) +/* Expand bigDataUrls so that no longer relative to genome->trackDbFile */ { - char *oldVal = hel->val; - hel->val = trackHubRelativeUrl(genome->trackDbFile, oldVal); - freeMem(oldVal); - } +expandOneUrl(tdb->settingsHash, genome->trackDbFile, "bigDataUrl"); +expandOneUrl(tdb->settingsHash, genome->trackDbFile, "frames"); +expandOneUrl(tdb->settingsHash, genome->trackDbFile, "summary"); +expandOneUrl(tdb->settingsHash, genome->trackDbFile, "searchTrix"); } struct trackHubGenome *trackHubFindGenome(struct trackHub *hub, char *genomeName) /* Return trackHubGenome of given name associated with hub. Return NULL if no * such genome. */ { return hashFindVal(hub->genomeHash, genomeName); } static void validateOneTrack( struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb) /* Validate a track's trackDb entry. */ { /* Check for existence of fields required in all tracks */ requiredSetting(hub, genome, tdb, "shortLabel");