diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-09-27 18:29:05 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-09-27 18:29:05 +0000 |
commit | 2ed1ab24d251c990cfe31cd4135ee26ff112dca3 (patch) | |
tree | cfaf6cd82735e3c2555eea378435a254d7e58c82 /cpp/src/Ice/BasicStream.cpp | |
parent | Minor compilation fix for VC6 (diff) | |
download | ice-2ed1ab24d251c990cfe31cd4135ee26ff112dca3.tar.bz2 ice-2ed1ab24d251c990cfe31cd4135ee26ff112dca3.tar.xz ice-2ed1ab24d251c990cfe31cd4135ee26ff112dca3.zip |
read(string&) fix
Diffstat (limited to 'cpp/src/Ice/BasicStream.cpp')
-rw-r--r-- | cpp/src/Ice/BasicStream.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp index 4ce74e83f35..50b56fcc957 100644 --- a/cpp/src/Ice/BasicStream.cpp +++ b/cpp/src/Ice/BasicStream.cpp @@ -1097,8 +1097,15 @@ IceInternal::BasicStream::read(string& v) { throw UnmarshalOutOfBoundsException(__FILE__, __LINE__); } - v.assign(reinterpret_cast<const char*>(&(*i)), len); - i += len; + if(len > 0) + { + v.assign(reinterpret_cast<const char*>(&(*i)), len); + i += len; + } + else + { + v.clear(); + } } void |