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