3c3ba646cb6774c30c57e3518a25ce7adf063648 max Thu Apr 7 16:19:59 2016 -0700 fixing invalid links in patents track, refs #14486 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 200c9bd..61becef 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -1489,40 +1489,42 @@ for (itemId = slIds; itemId!=NULL; itemId = itemId->next) { if (itemId != slIds) printf(", "); char *itemName = trimSpaces(itemId->name); if (idNames) { unsigned int id = sqlUnsigned(itemName); if (id < nameCount) itemName = idNames[sqlUnsigned(itemName)]; } // a | character can optionally be used to separate the ID used for $$ from the name shown in the link (like in Wikimedia markup) char *idForUrl = itemName; + boolean encode = TRUE; if (strstr(itemName, "|")) { char *parts[2]; chopString(itemName, "|", parts, ArraySize(parts)); idForUrl = parts[0]; itemName = parts[1]; + encode = FALSE; // assume the link is already encoded } char *idUrl = replaceInUrl(url, idForUrl, cart, database, seqName, winStart, - winEnd, tdb->track, TRUE); + winEnd, tdb->track, encode); printf("%s", idUrl, itemName); } printf("\n"); freeMem(slIds); //freeMem(idNames); } int extraFieldsPrint(struct trackDb *tdb,struct sqlResult *sr,char **fields,int fieldCount) // Any extra bed or bigBed fields (defined in as and occurring after N in bed N + types. // sr may be null for bigBeds. // Returns number of extra fields actually printed. { struct sqlConnection *conn = NULL ; if (!trackHubDatabase(database)) conn = hAllocConnTrack(database, tdb);