You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2005/03/25 17:19:16 UTC
svn commit: r159033 -
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java
Author: olegk
Date: Fri Mar 25 08:19:15 2005
New Revision: 159033
URL: http://svn.apache.org/viewcvs?view=rev&rev=159033
Log:
Fixed broken write(byte[], int, int) method
Modified:
jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java
Modified: jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java
URL: http://svn.apache.org/viewcvs/jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java?view=diff&r1=159032&r2=159033
==============================================================================
--- jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java (original)
+++ jakarta/httpclient/trunk/http-common/src/java/org/apache/http/impl/NIOHttpDataTransmitter.java Fri Mar 25 08:19:15 2005
@@ -120,15 +120,19 @@
if (b == null) {
return;
}
- int i = off;
- while (i < len) {
+ int remaining = len;
+ while (remaining > 0) {
if (this.buffer.hasRemaining()) {
- int chunk = len - i;
+ int chunk = len;
+ if (chunk > remaining) {
+ chunk = remaining;
+ }
if (chunk > this.buffer.remaining()) {
chunk = this.buffer.remaining();
}
- this.buffer.put(b, i, chunk);
- i += chunk;
+ this.buffer.put(b, off, chunk);
+ off += chunk;
+ remaining -= chunk;
} else {
flushBuffer();
}