035323fe4a88aea8872eb11de17a3800321cf8e7
galt
  Wed Jan 18 19:59:51 2023 -0800
code cleanup based on htmlCheck output. refs #7914

diff --git src/hg/hgGene/links.c src/hg/hgGene/links.c
index dc41094..5dfa914 100644
--- src/hg/hgGene/links.c
+++ src/hg/hgGene/links.c
@@ -149,30 +149,31 @@
     dy = dyStringNew(256);
     dyStringPrintf(dy, link->url, tdb->grp, geneTable, geneTable);
     trackDbFree(&tdb);
     addLinkExtras(link, dy);
     return dyStringCannibalize(&dy);
     }
 geneId = cloneAndCut(geneId, link->preCutAt);
 sqlSafef(query, sizeof(query), link->idSql, geneId);
 
 sr = sqlGetResult(conn, query);
 row = sqlNextRow(sr);
 if (row != NULL && row[0][0] != 0) /* If not null or empty */
     {
     struct dyString *dy = dyStringNew(0);
     char *name = cloneAndCut(row[0], link->postCutAt);
+    eraseTrailingSpaces(link->url); // sometimes people accidentally leave trailing spaces in the .ra
     dyStringPrintf(dy, link->url, name, row[1], row[2], row[3]);
     addLinkExtras(link, dy);
     url = dyStringCannibalize(&dy);
     freez(&name);
     }
 sqlFreeResult(&sr);
 freeMem(geneId);
 return url;
 }
 
 char *linkGetName(struct link *link, struct sqlConnection *conn,
 	char *geneId)
 /* Return name string if possible or NULL if not. */
 {
 char *nameSql = link->nameSql;