summaryrefslogtreecommitdiff
path: root/cppe/include/IceE/BasicStream.h
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-01-30 15:40:37 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-01-30 15:40:37 +0000
commit24e520e90436ed3e0b2808cec4764739f46f4614 (patch)
tree1955e59ea368d86b200655e876f9dffbe7c411d1 /cppe/include/IceE/BasicStream.h
parentEnabled previously disabled double fork() (LinuxThreads isn't supported (diff)
downloadice-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.h15
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();
}
}