You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2010/02/25 03:58:26 UTC

svn commit: r916097 - /tomcat/trunk/java/org/apache/jasper/JspC.java

Author: kkolinko
Date: Thu Feb 25 02:58:25 2010
New Revision: 916097

URL: http://svn.apache.org/viewvc?rev=916097&view=rev
Log:
fix for #mergeIntoWebXml()
Note that the "inserted" flag was never set to true in the old code.

Modified:
    tomcat/trunk/java/org/apache/jasper/JspC.java

Modified: tomcat/trunk/java/org/apache/jasper/JspC.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=916097&r1=916096&r2=916097&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/JspC.java (original)
+++ tomcat/trunk/java/org/apache/jasper/JspC.java Thu Feb 25 02:58:25 2010
@@ -882,9 +882,9 @@
         boolean inserted = false;
         int current = reader.read();
         while (current > -1) {
-            if (!inserted && current == '<') {
+            if (current == '<') {
                 String element = getElement(reader);
-                if (insertBefore.contains(element)) {
+                if (!inserted && insertBefore.contains(element)) {
                     // Insert generated content here
                     writer.println(insertStartMarker);
                     while (true) {
@@ -898,11 +898,26 @@
                     writer.println(insertEndMarker);
                     writer.println();
                     writer.write(element);
-                } else if (element.contains(insertStartMarker)) {
+                    inserted = true;
+                } else if (element.equals(insertStartMarker)) {
                     // Skip the previous auto-generated content
-                    while (!element.contains(insertEndMarker)) {
-                        element = getElement(reader);
+                    while (true) {
+                        current = reader.read();
+                        if (current < 0) {
+                            throw new EOFException();
+                        }
+                        if (current == '<') {
+                            element = getElement(reader);
+                            if (element.equals(insertEndMarker)) {
+                                break;
+                            }
+                        }
                     }
+                    current = reader.read();
+                    while (current == '\n' || current == '\r') {
+                        current = reader.read();
+                    }
+                    continue;
                 } else {
                     writer.write(element);
                 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org