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]>