48272e481ae9768378a88da5019d61706e9feb9c
angie
  Fri Mar 10 11:12:53 2017 -0800
Libify the hgTables fix for problematic characters in download filenames and apply to hgVai, hgIntegrator and hgSession.  Thanks Jairo! refs #18931 note-10

diff --git src/inc/textOut.h src/inc/textOut.h
index 2775f66..de8224b 100644
--- src/inc/textOut.h
+++ src/inc/textOut.h
@@ -1,48 +1,53 @@
 /* textOut - set up stdout to be HTTP text, file or compressed file. */
 
 #ifndef TEXTOUT_H
 #define TEXTOUT_H
 
 #include "pipeline.h"
 
 /* Supported compression types: */
 #define textOutCompressNone "none"
 #define textOutCompressBzip2 "bzip2"
 #define textOutCompressCompress "compress"
 #define textOutCompressGzip "gzip"
 #define textOutCompressZip "zip"
 
 /* Menu and values for passing to cgiMakeDropListFull: */
 /* (not declaring the static char *[]'s here because those can lead to 
  * "variable defined but not used" warnings -- declare locally.) */
 #define textOutCompressMenuContents { "plain text",\
 				       "gzip compressed (.gz)",\
 				       "bzip2 compressed (.bz2)",\
 				       "LZW compressed (.Z)",\
 				       "zip compressed (.zip)",\
 				       NULL\
 				     }
 
 #define textOutCompressValuesContents { textOutCompressNone,\
 					 textOutCompressGzip,\
 					 textOutCompressBzip2,\
 					 textOutCompressCompress,\
 					 textOutCompressZip,\
 					 NULL\
 				       }
 
 char *getCompressSuffix(char *compressType);
 /* Return the file dot-suffix (including the dot) for compressType. */
 
 struct pipeline *textOutInit(char *fileName, char *compressType, int *saveStdout);
 /* Set up stdout to be HTTP text, file (if fileName is specified), or 
  * compressed file (if both fileName and a supported compressType are 
  * specified). 
  * Return NULL if no compression, otherwise a pipeline handle on which 
  * textOutClose should be called when we're done writing stdout. */
 
 void textOutClose(struct pipeline **pCompressPipeline, int *saveStdout);
 /* Flush and close stdout, wait for the pipeline to finish, and then free 
  * the pipeline object. */
 
+char *textOutSanitizeHttpFileName(char *fileName);
+/* Replace troublesome characters in a fileName for HTTP download entered by the user,
+ * such as '/' which textOutInit interprets as implying a local file and ',' which
+ * messes up the HTTP response header syntax. */
+
 #endif /* TEXTOUT_H */