From e257a53c81c5d471afc8e8a4e11f531fbe114089 Mon Sep 17 00:00:00 2001 From: billbarker Date: Tue, 4 Sep 2007 02:45:37 +0000 Subject: [PATCH] Forward porting Reader fixes from 5.5.x git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@572498 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/connector/InputBuffer.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/java/org/apache/catalina/connector/InputBuffer.java b/java/org/apache/catalina/connector/InputBuffer.java index f176a3dd2..f989ce61c 100644 --- a/java/org/apache/catalina/connector/InputBuffer.java +++ b/java/org/apache/catalina/connector/InputBuffer.java @@ -292,7 +292,8 @@ public class InputBuffer extends Reader if (coyoteRequest == null) return -1; - state = BYTE_STATE; + if(state == INITIAL_STATE) + state = BYTE_STATE; int result = coyoteRequest.doRead(bb); @@ -325,6 +326,8 @@ public class InputBuffer extends Reader public void realWriteChars(char c[], int off, int len) throws IOException { markPos = -1; + cb.setOffset(0); + cb.setEnd(0); } @@ -351,12 +354,9 @@ public class InputBuffer extends Reader cb.setEnd(0); } - int limit = bb.getLength()+cb.getStart(); - if( cb.getLimit() < limit ) - cb.setLimit(limit); - conv.convert(bb, cb); - bb.setOffset(bb.getEnd()); state = CHAR_STATE; + conv.convert(bb, cb, len); + bb.setOffset(bb.getEnd()); return cb.getLength(); -- 2.11.0