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(); + */ } /**