Author: markt Date: Thu Dec 15 21:36:02 2016 New Revision: 1774528 URL: http://svn.apache.org/viewvc?rev=1774528&view=rev Log: Switch Jasper to use the new, simpler encoding detector
Modified: tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java?rev=1774528&r1=1774527&r2=1774528&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/ParserController.java Thu Dec 15 21:36:02 2016 @@ -18,12 +18,12 @@ package org.apache.jasper.compiler; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.util.Stack; import org.apache.jasper.JasperException; import org.apache.jasper.JspCompilationContext; -import org.apache.jasper.xmlparser.XMLEncodingDetector; import org.apache.tomcat.Jar; import org.xml.sax.Attributes; @@ -318,16 +318,13 @@ class ParserController implements TagCon sourceEnc = "ISO-8859-1"; } else { // XML syntax or unknown, (auto)detect encoding ... - Object[] ret = XMLEncodingDetector.getEncoding(absFileName, jar, - ctxt, err); - sourceEnc = (String) ret[0]; - if (((Boolean) ret[1]).booleanValue()) { - isEncodingSpecifiedInProlog = true; - } - if (((Boolean) ret[2]).booleanValue()) { - isBomPresent = true; - } - skip = ((Integer) ret[3]).intValue(); + InputStream inStream = JspUtil.getInputStream(absFileName, jar, ctxt); + EncodingDetector encodingDetector = new EncodingDetector(inStream); + + sourceEnc = encodingDetector.getBomEncoding(); + isEncodingSpecifiedInProlog = (encodingDetector.getPrologEncoding() != null); + isBomPresent = (encodingDetector.getSkip() > 0); + skip = encodingDetector.getSkip(); if (!isXml && sourceEnc.equals("UTF-8")) { /* Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1774528&r1=1774527&r2=1774528&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Dec 15 21:36:02 2016 @@ -98,6 +98,13 @@ </fix> </changelog> </subsection> + <subsection name="Jasper"> + <changelog> + Implment a simpler JSP file encoding detector that delegates XML prolog + encoding detection to the JRE rather than using a custom XML parser. + (markt) + </changelog> + </subsection> <subsection name="Web Applications"> <changelog> <fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org