diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-01-30 15:40:37 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-01-30 15:40:37 +0000 |
commit | 24e520e90436ed3e0b2808cec4764739f46f4614 (patch) | |
tree | 1955e59ea368d86b200655e876f9dffbe7c411d1 /cppe/include/IceE/BasicStream.h | |
parent | Enabled previously disabled double fork() (LinuxThreads isn't supported (diff) | |
download | ice-24e520e90436ed3e0b2808cec4764739f46f4614.tar.bz2 ice-24e520e90436ed3e0b2808cec4764739f46f4614.tar.xz ice-24e520e90436ed3e0b2808cec4764739f46f4614.zip |
resize -> swap
Diffstat (limited to 'cppe/include/IceE/BasicStream.h')
-rw-r--r-- | cppe/include/IceE/BasicStream.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/cppe/include/IceE/BasicStream.h b/cppe/include/IceE/BasicStream.h index 43ebbd4f834..6c5afbedf6c 100644 --- a/cppe/include/IceE/BasicStream.h +++ b/cppe/include/IceE/BasicStream.h @@ -271,11 +271,18 @@ readBuiltinSequence(::IceInternal::BasicStream* __is, T& seq) { ::Ice::Int size; __is->readSize(size); - seq.resize(size); - typedef typename T::iterator I; - for(I p = seq.begin(); p != seq.end(); ++p) + if(size > 0) + { + T(size).swap(seq); + typedef typename T::iterator I; + for(I p = seq.begin(); p != seq.end(); ++p) + { + __is->read(*p); + } + } + else { - __is->read(*p); + seq.clear(); } } |