kinman      02/04/03 18:34:01

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        CommandLineCompiler.java JspReader.java Parser.java
  Log:
  - Handle quoted string "%\>" in scripting elements.
  
  Revision  Changes    Path
  1.2       +4 -4      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java
  
  Index: CommandLineCompiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CommandLineCompiler.java  28 Mar 2002 18:46:15 -0000      1.1
  +++ CommandLineCompiler.java  4 Apr 2002 02:34:01 -0000       1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v
 1.1 2002/03/28 18:46:15 kinman Exp $
  - * $Revision: 1.1 $
  - * $Date: 2002/03/28 18:46:15 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/CommandLineCompiler.java,v
 1.2 2002/04/04 02:34:01 kinman Exp $
  + * $Revision: 1.2 $
  + * $Date: 2002/04/04 02:34:01 $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -189,7 +189,7 @@
        return modifiedClassName.toString();
       }
   
  -    private static final String mangleChar(char ch) {
  +    public static final String mangleChar(char ch) {
        
           if(ch == File.separatorChar) {
            ch = '/';
  
  
  
  1.2       +37 -0     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java
  
  Index: JspReader.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspReader.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JspReader.java    28 Mar 2002 18:46:16 -0000      1.1
  +++ JspReader.java    4 Apr 2002 02:34:01 -0000       1.2
  @@ -280,6 +280,43 @@
        return caw.toCharArray();
       }
   
  +    /**
  +     * Get the text for a scripting element from the stream.  It handles
  +     * the escape string "%\>".
  +     *
  +     * @param start The starting postion to read
  +     * @param stop The ending (exclusive) postion to read
  +     * @return The resultant text
  +     */
  +    char[] getScriptingText(Mark start, Mark stop) throws JasperException {
  +     Mark oldstart = mark();
  +     reset(start);
  +     CharArrayWriter caw = new CharArrayWriter();
  +     while (!stop.equals(mark())) {
  +         int c = nextChar();
  +         caw.write(c);
  +         if (c == '%') {
  +             if (stop.equals(mark()))
  +                 break;
  +             int c2 = nextChar();
  +             if (stop.equals(mark())) {
  +                 caw.write(c2);
  +                 break;
  +             }
  +             int c3 = nextChar();
  +             if (c2 == '\\' && c3 == '>') {
  +                 caw.write('>');
  +             } else {
  +                 caw.write(c2);
  +                 caw.write(c3);
  +             }
  +         }
  +     }
  +     caw.close();
  +     reset(oldstart);
  +     return caw.toCharArray();
  +    }
  +
       public int peekChar() {
        return current.stream[current.cursor];
       }
  
  
  
  1.2       +6 -6      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Parser.java       28 Mar 2002 18:46:16 -0000      1.1
  +++ Parser.java       4 Apr 2002 02:34:01 -0000       1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
 1.1 2002/03/28 18:46:16 kinman Exp $
  - * $Revision: 1.1 $
  - * $Date: 2002/03/28 18:46:16 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
 1.2 2002/04/04 02:34:01 kinman Exp $
  + * $Revision: 1.2 $
  + * $Date: 2002/04/04 02:34:01 $
    *
    * ====================================================================
    * 
  @@ -246,7 +246,7 @@
            err.jspError(start, "jsp.error.unterminated", "<%!");
        }
   
  -     new Node.Declaration(reader.getText(start, stop), start, parent);
  +     new Node.Declaration(reader.getScriptingText(start, stop), start, parent);
       }
   
       /*
  @@ -259,7 +259,7 @@
            err.jspError(start, "jsp.error.unterminated", "<%=");
        }
   
  -     new Node.Expression(reader.getText(start, stop), start, parent);
  +     new Node.Expression(reader.getScriptingText(start, stop), start, parent);
       }
        
       /*
  @@ -272,7 +272,7 @@
            err.jspError(start, "jsp.error.unterminated", "<%");
        }
   
  -     new Node.Scriptlet(reader.getText(start, stop), start, parent);
  +     new Node.Scriptlet(reader.getScriptingText(start, stop), start, parent);
       }
        
       /**
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to