diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-07-17 12:36:00 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-07-17 12:36:00 -0230 |
commit | 93fdab6fa782511ef569acb17352853646aa66b5 (patch) | |
tree | 1e73a243303f1d9564499f0b7a036b4484cc1671 /cpp/src/Ice/StreamI.cpp | |
parent | C# transceiver fixes (diff) | |
download | ice-93fdab6fa782511ef569acb17352853646aa66b5.tar.bz2 ice-93fdab6fa782511ef569acb17352853646aa66b5.tar.xz ice-93fdab6fa782511ef569acb17352853646aa66b5.zip |
ICE-5481 startSize/endSize methods aren't designed to be "reentrant"
Diffstat (limited to 'cpp/src/Ice/StreamI.cpp')
-rw-r--r-- | cpp/src/Ice/StreamI.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/cpp/src/Ice/StreamI.cpp b/cpp/src/Ice/StreamI.cpp index 7537425a21c..6e65a752120 100644 --- a/cpp/src/Ice/StreamI.cpp +++ b/cpp/src/Ice/StreamI.cpp @@ -75,7 +75,7 @@ UserExceptionReader::__read(BasicStream* is) // // InputStreamI // -InputStreamI::InputStreamI(const CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& data, +InputStreamI::InputStreamI(const CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& data, bool copyData) : _communicator(communicator), _closure(0) @@ -129,7 +129,7 @@ InputStreamI::readProxy() return v; } -namespace +namespace { void @@ -391,7 +391,7 @@ InputStreamI::closure() const } void -InputStreamI::initialize(Instance* instance, const pair<const Byte*, const Byte*>& buf, const EncodingVersion& v, +InputStreamI::initialize(Instance* instance, const pair<const Byte*, const Byte*>& buf, const EncodingVersion& v, bool copyData) { if(copyData) @@ -555,7 +555,7 @@ OutputStreamI::write(const wstring& v) _os->write(v); } -void +void OutputStreamI::write(const vector<bool>& v) { _os->write(v); @@ -698,7 +698,7 @@ void OutputStreamI::reset(bool clearBuffer) { _os->clear(); - + if(clearBuffer) { _os->b.clear(); @@ -707,7 +707,7 @@ OutputStreamI::reset(bool clearBuffer) { _os->b.reset(); } - + _os->i = _os->b.begin(); } @@ -723,16 +723,16 @@ OutputStreamI::rewrite(Int sz, size_type p) _os->rewrite(sz, p); } -void +int OutputStreamI::startSize() { - _os->startSize(); + return _os->startSize(); } void -OutputStreamI::endSize() +OutputStreamI::endSize(int pos) { - _os->endSize(); + _os->endSize(pos); } // |