b3ebe216b8706bbecf1dc7ca08e7a8ddd6b3b9a6
hiram
  Thu Aug 31 15:27:58 2017 -0700
encode the amp to avoid warnings from W3C validator these are URL variables refs #18762

diff --git src/hg/lib/web.c src/hg/lib/web.c
index 18ba769..91069cf 100644
--- src/hg/lib/web.c
+++ src/hg/lib/web.c
@@ -1354,31 +1354,31 @@
 int err = regcomp(&re, buf, REG_EXTENDED);
 if(err)
     errAbort("regcomp failed; err: %d", err);
 
 /* Search through oldString with regex, and build up new string in dy */
 struct dyString *dy = newDyString(0);
 int offset;
 for(offset = 0; offset < len && !regexec(&re, oldString + offset, ArraySize(match), match, 0); 
     offset += match[0].rm_eo)
     {
     dyStringAppendN(dy, oldString + offset, match[0].rm_eo);
     if(match[1].rm_so == match[1].rm_eo)
 	dyStringAppend(dy, "?");
     dyStringAppend(dy, uiVars);
     if(match[1].rm_so != match[1].rm_eo)
-	dyStringAppend(dy, "&");
+	dyStringAppend(dy, "&amp;");
     }
 if(offset < len)
     dyStringAppend(dy, oldString + offset);
 return dyStringCannibalize(&dy);
 }
 
 char *menuBar(struct cart *cart, char *db)
 // Return HTML for the menu bar (read from a configuration file);
 // we fixup internal CGI's to add hgsid's and include the appropriate js and css files.
 //
 // Note this function is also called by hgTracks which extends the menu bar
 //  with a View menu defined in hgTracks/menu.c
 {
 char *docRoot = hDocumentRoot();
 char *menuStr, buf[4096], uiVars[128];