You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/12/15 21:36:02 UTC
svn commit: r1774528 - in /tomcat/trunk:
java/org/apache/jasper/compiler/ParserController.java
webapps/docs/changelog.xml
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org