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

Reply via email to