summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/BasicStream.java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-03-19 21:37:02 +0000
committerMark Spruiell <mes@zeroc.com>2002-03-19 21:37:02 +0000
commit5284971374eea7cd91eedbd937eb1e6f9eb9bd1b (patch)
tree89e4022d795fbaefaf27fd4a2c2f60865b033c6b /java/src/IceInternal/BasicStream.java
parentUpdated to add new exceptions for Key and Certificate generation. (diff)
downloadice-5284971374eea7cd91eedbd937eb1e6f9eb9bd1b.tar.bz2
ice-5284971374eea7cd91eedbd937eb1e6f9eb9bd1b.tar.xz
ice-5284971374eea7cd91eedbd937eb1e6f9eb9bd1b.zip
bug fix for expand()
Diffstat (limited to 'java/src/IceInternal/BasicStream.java')
-rw-r--r--java/src/IceInternal/BasicStream.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 69648f7c129..90e7cea53ce 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -986,6 +986,7 @@ public class BasicStream
{
if (_buf.position() == _limit)
{
+ int oldLimit = _limit;
_limit += size;
if (_limit > MAX)
{
@@ -995,8 +996,13 @@ public class BasicStream
{
final int cap2 = _capacity << 1;
int newCapacity = cap2 > _limit ? cap2 : _limit;
+ _buf.limit(oldLimit);
+ int pos = _buf.position();
+ _buf.position(0);
_buf = _bufferManager.reallocate(_buf, newCapacity);
_capacity = _buf.capacity();
+ _buf.limit(_capacity);
+ _buf.position(pos);
}
}
}