diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-03-19 21:37:02 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-03-19 21:37:02 +0000 |
commit | 5284971374eea7cd91eedbd937eb1e6f9eb9bd1b (patch) | |
tree | 89e4022d795fbaefaf27fd4a2c2f60865b033c6b /java/src/IceInternal/BasicStream.java | |
parent | Updated to add new exceptions for Key and Certificate generation. (diff) | |
download | ice-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.java | 6 |
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); } } } |