summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/BasicStream.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-10-29 12:21:53 +0100
committerBenoit Foucher <benoit@zeroc.com>2012-10-29 12:21:53 +0100
commit881f18ef1ef829511f2002c08ed855f032184e6a (patch)
treec0a33e16c0df239e5af85ff489caa00e0eb82daa /cpp/src/Ice/BasicStream.cpp
parentMore UMR fixes (diff)
downloadice-881f18ef1ef829511f2002c08ed855f032184e6a.tar.bz2
ice-881f18ef1ef829511f2002c08ed855f032184e6a.tar.xz
ice-881f18ef1ef829511f2002c08ed855f032184e6a.zip
Minor core, test and demo fixes
- Fixed C# value demo to use sliced format - Fixed Ice core to throw NoObjectFactoryException/UnknownUserException instead or MarshalException when compact format is used an no factory is found. - Fixed minor unitialized memory reads.
Diffstat (limited to 'cpp/src/Ice/BasicStream.cpp')
-rw-r--r--cpp/src/Ice/BasicStream.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/cpp/src/Ice/BasicStream.cpp b/cpp/src/Ice/BasicStream.cpp
index cd32101f980..b4f2753802f 100644
--- a/cpp/src/Ice/BasicStream.cpp
+++ b/cpp/src/Ice/BasicStream.cpp
@@ -2887,9 +2887,17 @@ IceInternal::BasicStream::EncapsDecoder::skipSlice()
}
else
{
- throw MarshalException(__FILE__,
- __LINE__,
- "compact format prevents slicing (the sender should use the sliced format instead)");
+ if(_sliceType == ObjectSlice)
+ {
+ throw NoObjectFactoryException(
+ __FILE__, __LINE__,
+ "compact format prevents slicing (the sender should use the sliced format instead)",
+ _typeId);
+ }
+ else
+ {
+ throw UnknownUserException(__FILE__, __LINE__, _typeId.substr(2));
+ }
}
if(_encaps->encoding != Encoding_1_0)