summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Reference.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-12-03 11:58:52 +0000
committerMark Spruiell <mes@zeroc.com>2004-12-03 11:58:52 +0000
commit6f54a823f0a51f8c5d3f47eef255f3304d6f3e18 (patch)
treeed4247407a4830952c7617cd09223f255367634f /cpp/src/Ice/Reference.cpp
parentminor fix (diff)
downloadice-6f54a823f0a51f8c5d3f47eef255f3304d6f3e18.tar.bz2
ice-6f54a823f0a51f8c5d3f47eef255f3304d6f3e18.tar.xz
ice-6f54a823f0a51f8c5d3f47eef255f3304d6f3e18.zip
fix for proxy marshaling bug
Diffstat (limited to 'cpp/src/Ice/Reference.cpp')
-rw-r--r--cpp/src/Ice/Reference.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp
index ef804c1b5f7..faec02f6c70 100644
--- a/cpp/src/Ice/Reference.cpp
+++ b/cpp/src/Ice/Reference.cpp
@@ -738,11 +738,18 @@ IceInternal::DirectReference::streamWrite(BasicStream* s) const
{
RoutableReference::streamWrite(s);
- s->writeSize(Ice::Int(_endpoints.size()));
- vector<EndpointPtr>::const_iterator p;
- for(p = _endpoints.begin(); p != _endpoints.end(); ++p)
+ Ice::Int sz = static_cast<Ice::Int>(endpoints.size());
+ s->writeSize(sz);
+ if(sz)
+ {
+ for(vector<EndpointPtr>::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p)
+ {
+ (*p)->streamWrite(s);
+ }
+ }
+ else
{
- (*p)->streamWrite(s);
+ s->write(string("")); // Adapter id.
}
}