You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/01/10 21:59:27 UTC

svn commit: r1229726 - /tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

Author: markt
Date: Tue Jan 10 20:59:27 2012
New Revision: 1229726

URL: http://svn.apache.org/viewvc?rev=1229726&view=rev
Log:
First pass at a fix for BZ 52328

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1229726&r1=1229725&r2=1229726&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Tue Jan 10 20:59:27 2012
@@ -303,6 +303,11 @@ public class OutputBuffer extends Writer
             return;
         }
 
+        // Flush the convertor if one is in use
+        if (gotEnc && conv != null) {
+            conv.flushBuffer();
+        }
+
         try {
             doFlush = true;
             if (initial) {
@@ -426,7 +431,6 @@ public class OutputBuffer extends Writer
         }
 
         conv.convert((char) c);
-        conv.flushBuffer();
         charsWritten++;
 
     }
@@ -454,7 +458,6 @@ public class OutputBuffer extends Writer
         }
 
         conv.convert(c, off, len);
-        conv.flushBuffer();
         charsWritten += len;
 
     }
@@ -476,8 +479,6 @@ public class OutputBuffer extends Writer
             s = "null";
         }
         conv.convert(s, off, len);
-        conv.flushBuffer();
-
     }
 
 
@@ -493,8 +494,6 @@ public class OutputBuffer extends Writer
             s = "null";
         }
         conv.convert(s);
-        conv.flushBuffer();
-
     }
 
 
@@ -579,14 +578,17 @@ public class OutputBuffer extends Writer
 
 
     public void reset() {
-
+        // If a Writer wasbeing used, there may be unflushed bytes in the
+        // convertor
+        if (gotEnc && conv != null) {
+            conv.recycle();
+        }
         bb.recycle();
         bytesWritten = 0;
         charsWritten = 0;
         gotEnc = false;
         enc = null;
         initial = true;
-
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org