0b81078213eff40174d357fbc8632ed7077baec4
braney
  Fri Aug 21 09:47:38 2020 -0700
changes to support the lack of native knownGene tables in an assembly.

diff --git src/hg/hgGene/links.c src/hg/hgGene/links.c
index 5c7d19c..1307273 100644
--- src/hg/hgGene/links.c
+++ src/hg/hgGene/links.c
@@ -76,31 +76,31 @@
 	{
 	if (checkDatabases(linkOptionalField(ra, "databases")) 
 	    && sqlTablesExist(conn, linkOptionalField(ra, "tables")))
 	    {
 	    /* only include the wikiTrack if it is enabled */
 	    if (sameWord(linkRequiredField(ra, "name"), "wikiTrack") &&
 		! wikiTrackEnabled(database, NULL))
 		continue;
 	    AllocVar(link);
 	    link->priority = atof(linkRequiredField(ra, "priority"));
 	    link->name = linkRequiredField(ra, "name");
 	    link->shortLabel = linkRequiredField(ra, "shortLabel");
 	    link->idSql = linkRequiredField(ra, "idSql");
 	    link->nameSql = linkOptionalField(ra, "nameSql");
 	    link->nameFormat = linkOptionalField(ra, "nameFormat");
-	    link->url = linkRequiredField(ra, "url");
+	    link->url = replaceChars(linkRequiredField(ra, "url"), "KNOWNDB",sqlGetDatabase(conn));
 	    link->useHgsid = (linkOptionalField(ra, "hgsid") != NULL);
 	    link->useDb = (linkOptionalField(ra, "dbInUrl") != NULL);
 	    link->preCutAt = linkOptionalField(ra, "preCutAt");
 	    link->postCutAt = linkOptionalField(ra, "postCutAt");
 	    slAddHead(&linkList, link);
 	    }
 	}
     }
 slSort(&linkList, linkCmpPriority);
 return linkList;
 }
 
 static char *cloneAndCut(char *s, char *cutAt)
 /* Return copy of string that may have stuff cut off end. */
 {