ea3a67989847a2b731be271d112feab992a5eb9a
galt
  Wed Sep 28 10:08:47 2016 -0700
Fixes hgNearTest robot by having htmlPage.c call attributeDecode on attribute values since we are now encoding them against XSS. refs #18077. hgNearTest was crashing right away with the error Couldn't get main form on orgPage.

diff --git src/inc/htmshell.h src/inc/htmshell.h
index ba2e100..f55e6fc 100644
--- src/inc/htmshell.h
+++ src/inc/htmshell.h
@@ -60,30 +60,42 @@
 char *htmlTextStripTags(char *s);
 /* Returns a cloned string with all html tags stripped out */
 
 char *htmlTextReplaceTagsWithChar(char *s, char ch);
 /* Returns a cloned string with all html tags replaced with given char (useful for tokenizing) */
 
 char *htmlEncode(char *s);
 /* Returns a cloned string with quotes replaced by html codes.
    Changes ',",\n and >,<,& to code equivalents.
    This differs from cgiEncode as it handles text that will
    be displayed in an html page or tooltip style title.  */
 
 char *attributeEncode(char *s);
 // encode double and single quotes in a string to be used as an element attribute
 
+void attributeDecode(char *s);
+/* For html tag attribute values decode html entities &#xHH; */
+
+void cssDecode(char *s);
+/* For CSS values decode "\HH " */
+
+void jsDecode(char *s);
+/* For JS string values decode "\xHH" */
+
+void urlDecode(char *s);
+/* For URL paramter values decode "%HH" */
+
 void htmlMemDeath();
 /* Complain about lack of memory and abort.  */
 
 void htmlStart(char *title);
 /* Write the start of a cgi-generated html file */
 
 void htmStart(FILE *f, char *title);
 /* Write the start of a stand alone .html file. */
 
 void printBodyTag(FILE *f);
 // print starting BODY tag, including any appropriate attributes (class, background and bgcolor). 
 
 void htmStartWithHead(FILE *f, char *head, char *title);
 /* Write the start of a stand alone .html file, plus head info */