aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/sun/net/httpserver/ChunkedOutputStream.java')
-rw-r--r--src/share/classes/sun/net/httpserver/ChunkedOutputStream.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java b/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java
index f53d40e5e..bbef17c64 100644
--- a/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java
+++ b/src/share/classes/sun/net/httpserver/ChunkedOutputStream.java
@@ -73,6 +73,7 @@ class ChunkedOutputStream extends FilterOutputStream
if (count == CHUNK_SIZE) {
writeChunk();
}
+ assert count < CHUNK_SIZE;
}
public void write (byte[]b, int off, int len) throws IOException {
@@ -86,20 +87,22 @@ class ChunkedOutputStream extends FilterOutputStream
writeChunk();
len -= remain;
off += remain;
- while (len > CHUNK_SIZE) {
+ while (len >= CHUNK_SIZE) {
System.arraycopy (b,off,buf,OFFSET,CHUNK_SIZE);
len -= CHUNK_SIZE;
off += CHUNK_SIZE;
count = CHUNK_SIZE;
writeChunk();
}
- pos = OFFSET;
}
if (len > 0) {
System.arraycopy (b,off,buf,pos,len);
count += len;
pos += len;
}
+ if (count == CHUNK_SIZE) {
+ writeChunk();
+ }
}
/**