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]

Reply via email to