luehe 2004/06/25 19:22:27 Modified: jasper2/src/share/org/apache/jasper/compiler Tag: tomcat_4_branch Generator.java Log: Fixed 18778: popBody not always called as expected resulting in unexpected output Revision Changes Path No revision No revision 1.35.2.24 +11 -11 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java Index: Generator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v retrieving revision 1.35.2.23 retrieving revision 1.35.2.24 diff -u -r1.35.2.23 -r1.35.2.24 --- Generator.java 27 Mar 2004 01:04:39 -0000 1.35.2.23 +++ Generator.java 26 Jun 2004 02:22:27 -0000 1.35.2.24 @@ -1157,7 +1157,7 @@ // out.println("javax.servlet.jsp.PageContext pageContext, JspxState _jspxState)"); out.print("javax.servlet.jsp.PageContext pageContext"); if (pushBodyCountVar != null) { - out.print(", int "); + out.print(", int[] "); out.print(pushBodyCountVar); } out.println(")"); @@ -1359,9 +1359,9 @@ generateSetters(n, tagHandlerVar, handlerInfo); if (n.implementsTryCatchFinally()) { - out.printin("int "); + out.printin("int[] "); out.print(tagPushBodyCountVar); - out.println(" = 0;"); + out.println(" = new int[] { 0 };"); out.printil("try {"); out.pushIndent(); } @@ -1396,10 +1396,10 @@ out.printil("javax.servlet.jsp.tagext.BodyContent _bc = pageContext.pushBody();"); if (n.implementsTryCatchFinally()) { out.printin(tagPushBodyCountVar); - out.println("++;"); + out.println("[0]++;"); } else if (pushBodyCountVar != null) { out.printin(pushBodyCountVar); - out.println("++;"); + out.println("[0]++;"); } out.printil("out = _bc;"); @@ -1464,10 +1464,10 @@ out.printil("out = pageContext.popBody();"); if (n.implementsTryCatchFinally()) { out.printin(tagPushBodyCountVar); - out.println("--;"); + out.println("[0]--;"); } else if (pushBodyCountVar != null) { out.printin(pushBodyCountVar); - out.println("--;"); + out.println("[0]--;"); } out.popIndent(); } @@ -1494,7 +1494,7 @@ out.printin("while ("); out.print(tagPushBodyCountVar); - out.println("-- > 0)"); + out.println("[0]-- > 0)"); out.pushIndent(); out.printil("out = pageContext.popBody();"); out.popIndent();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]