craigmcc 01/07/23 16:45:37
Modified: jasper/src/share/org/apache/jasper/compiler JspUtil.java
Log:
Re-fix escaping so that %\> is recognized correctly (bugzilla #2602) AND
the Unicode literal string is still recognized correctly.
Revision Changes Path
1.12 +21 -3
jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java
Index: JspUtil.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- JspUtil.java 2001/07/23 22:04:00 1.11
+++ JspUtil.java 2001/07/23 23:45:37 1.12
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
1.11 2001/07/23 22:04:00 craigmcc Exp $
- * $Revision: 1.11 $
- * $Date: 2001/07/23 22:04:00 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/JspUtil.java,v
1.12 2001/07/23 23:45:37 craigmcc Exp $
+ * $Revision: 1.12 $
+ * $Date: 2001/07/23 23:45:37 $
*
* ====================================================================
*
@@ -121,6 +121,23 @@
}
public static char[] escapeQuotes (char []chars) {
+ // Prescan to convert %\> to %>
+ String s = new String(chars);
+ while (true) {
+ int n = s.indexOf("%\\>");
+ if (n < 0)
+ break;
+ StringBuffer sb = new StringBuffer(s.substring(0, n));
+ sb.append("%>");
+ sb.append(s.substring(n + 3));
+ s = sb.toString();
+ }
+ chars = s.toCharArray();
+ return (chars);
+
+
+ // Escape all backslashes not inside a Java string literal
+ /*
CharArrayWriter caw = new CharArrayWriter();
boolean inJavaString = false;
for (int i = 0; i < chars.length; i++) {
@@ -130,6 +147,7 @@
caw.write(chars[i]);
}
return caw.toCharArray();
+ */
}
/**